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,在看到之后不会有任何疑问: