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