View on GitHub

Cycle263 Blog

Stay hungry, stay foolish.

async/await 函数

函数前面的async意味着这个函数总是返回一个promise,如果代码中有return <非promise>语句,JavaScript会自动把返回的这个value值包装成promise的resolved值。其实,async 函数就是 Generator 函数的语法糖,也就是将 Generator 函数的星号(\*)替换成 async,将 yield 替换成 await,仅此而已。

  async function testAsync() {
    return "hello async";
  }

  const result = testAsync();
  console.log(result);  // Promise {<resolved>: "hello async"}