Skip to content

JavaScript Async / Await

关键字asyncawait是 Generator 的语法糖

可以用接近同步编程的写法去实现异步编程

js
async function 函数() {
  // ...
  await 异步任务;
  const 返回值 = await 异步任务;
  // ...
}
js
const 函数 = async () => {
  // ...
  await 异步任务;
  const 返回值 = await 异步任务;
  // ...
};
例子:用asyncawait、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"