1.理解异步
栗子:
cpp
async function asyncFunc() {
console.log('1. 进入 async 函数');
await new Promise(resolve => setTimeout(resolve, 1000)); // 等待 1 秒
console.log('3. await 结束,继续执行');
}
console.log('A. 开始');
asyncFunc(); // 调用 async 函数
console.log('B. asyncFunc 已调用,继续执行');
输出:
cpp
A. 开始
1. 进入 async 函数
B. asyncFunc 已调用,继续执行
(等待 1 秒)
3. await 结束,继续执行
ps:
await 暂停的是 async 函数内部 await 之后的代码
函数外部的"后面代码"会立即执行(因为 async 函数是非阻塞的)
2.异步和同步的区别
ms:
主要区别在于执行顺序和阻塞行为。
同步代码:每一步操作都必须等待前一步操作完成后再继续执行。
异步代码:这种代码不会阻塞后续代码的执行,异步操作会在完成时通过回调函数,async,await等记住通知相关代码片段来处理结果。