JavaScript的同步异步
在JavaScript中,同步代码会按照编写顺序顺序执行,而异步代码(通常是网络请求或定时器等)会在一个特定的时间点执行。同步代码会阻塞执行,而异步代码不会。
同步代码示例:
let a = 1;
let b = 2;
let sum = a + b;
console.log(sum); // 输出结果为3
异步代码示例:
// 使用回调函数处理异步操作
setTimeout(function() {
console.log('异步操作完成');
}, 1000);
// 使用 Promise 处理异步操作
new Promise((resolve, reject) => {
setTimeout(() => {
resolve('异步操作完成');
}, 1000);
}).then(result => {
console.log(result);
});
// 使用 async/await 处理异步操作
async function asyncOperation() {
return '异步操作完成';
}
(async () => {
const result = await asyncOperation();
console.log(result);
})();
在上述异步代码中,setTimeout
是一个异步操作,它在指定的时间后执行回调函数。Promise
是一个用于进行异步操作的 API,它可以处理异步操作的成功结果或错误。async/await
是基于 Promise 的语法糖,使得异步代码看起来更像同步代码。
评论已关闭