7
我试图学习异步等待。在此代码 -异步函数 - 等待不等待承诺
const myFun =() => {
let state = false;
setTimeout(() => {state = true}, 2000);
return new Promise((resolve, reject) => {
setTimeout(() => {
if(state) {
resolve('State is true');
} else {
reject('State is false');
}
}, 3000);
});
}
const getResult = async() => {
return await myFun();
}
console.log(getResult());
为什么我收到输出 -
Promise { <pending> }
而是一些价值? getResult()
函数不应该等待myFun()
函数解析它的promise值吗?
为什么最后异步(带有IIFE)变为同步,但不是我的'的getResult()'方法? –
@hg_git因为它被包装在一个异步IIFE中,有一个等待电话。它不会变成同步的,它只是语法上的糖。 –
我的'getResult()'也有'async'关键字,还有'await'调用。 –