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()方法进行结果处理