Async/Await 就是一個(gè)自執(zhí)行的 generate 函數(shù)赖舟。利用 generate 函數(shù)的特性把異步的代碼寫成“同步”的形式
function requestA() {
return new Promise(resolve => {
setTimeout(() => {
resolve({ age: 20 });
}, 1000 * 2);
});
}
async function getData() {
console.log('數(shù)據(jù)加載第一步');
let result = await requestA();
console.log('數(shù)據(jù)加載第二步');
return result;
}
getData().then(res => {
console.log('數(shù)據(jù)請求完畢', res);
});
首先打印
// 數(shù)據(jù)加載第一步
過了 2 秒后打印
// 數(shù)據(jù)加載第二步
// 數(shù)據(jù)請求完畢 { age: 20 }
參考資料
第 9 題:Async/Await 如何通過同步的方式實(shí)現(xiàn)異步
文章的內(nèi)容/靈感都從下方內(nèi)容中借鑒
【持續(xù)維護(hù)/更新 500+前端面試題/筆記】https://github.com/noxussj/Interview-Questions/issues
【大數(shù)據(jù)可視化圖表插件】https://www.npmjs.com/package/ns-echarts
【利用 THREE.JS 實(shí)現(xiàn) 3D 城市建模(珠海市)】https://3d.noxussj.top/