function doubleAfter2seconds(num) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(2 * num)
}, 200);
} )
}
var html = 1;
async function testResult() {
let result = await doubleAfter2seconds(1);
html = result
return result
}
var a = testResult();
var hh = "";
a.then(function (res) {
hh = res
console.log(hh)
})
之前也接觸過異步等待問題,但是一段時間不接觸都忘記了。也是試了好久才整理好自己的思路。果然,學技術還是要有耐心。
在上面的代碼中,我是先return一個異步操作,當函數調用resolve的時候,會把結果賦給result,await的作用就是在此等候這個異步操作完成才執行以下代碼。而如果在asyn裏面return結果,那麼我們將得到一個promise對象,所有需要在最後使用then()方法進行結果處理