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,在看到之後不會有任何疑問: