Promises 和 AsyncAwait 之间的比较

使用承诺的功能:

function myAsyncFunction() {
    return aFunctionThatReturnsAPromise()
           // doSomething is a sync function
           .then(result => doSomething(result))
           .catch(handleError);
}

所以这是当 Async / Await 进入操作以便更清洁我们的功能时:

async function myAsyncFunction() {
  let result;

  try {
      result = await aFunctionThatReturnsAPromise();
  } catch (error) {
      handleError(error);
  }

  // doSomething is a sync function
  return doSomething(result);
}

所以关键字 async 类似于写 return new Promise((resolve, reject) => {...}

await 类似于在 then 回调中得到你的结果。

在这里,我留下了一个非常简短的 GIF,在看到之后不会有任何疑问:

GIF