JavaScript Async / Await
关键字async
、await
是 Generator 的语法糖
可以用接近同步编程的写法去实现异步编程
js
async function 函数() {
// ...
await 异步任务;
const 返回值 = await 异步任务;
// ...
}
js
const 函数 = async () => {
// ...
await 异步任务;
const 返回值 = await 异步任务;
// ...
};
例子:用async
、await
、Promise 实现自定义延时逻辑
js
async function delay(callback, time) {
await new Promise((resolve) => setTimeout(resolve, time));
callback();
}
delay(() => console.log("xxx"), 0); // 立即打印 "xxx"
delay(() => console.log("yyy"), 1000); // 等待 1000ms 后打印 "yyy"
delay(() => console.log("zzz"), 2000); // 等待 2000ms 后打印 "zzz"