async 和 await :異步編程的終極解決方案
說明:這種用法是基于 Promise 的
function fn() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('resolve華而有為')
}, 2000);
})
}
async 用來修飾一個(gè)函數(shù)
async 在 function 關(guān)鍵字之前
async function foo() {
// await 關(guān)鍵字只能用在 async 函數(shù)中?。。?
// await 關(guān)鍵字后面跟一個(gè) Promise 對象
// await 會等待該P(yáng)romise封裝的異步操作執(zhí)行完畢后,才會執(zhí)行后面的代碼
// res 就是 Promise 中 resolve 函數(shù)的參數(shù)
const res = await fn()
console.log('await后的結(jié)果:', res)
// 輸出: await后的結(jié)果: resolve華而有為
}
foo()