单击按钮后,它将调用以下检查函数,该函数将调用isReady()
函数,该函数将执行一些操作以找出其是否正确。
当我检查时,isReady()
方法实际上返回false,但是在控制台中返回Success
,看来它不等待异步调用完成。
async check() {
if(await this.isReady(this.entireSchool))
{
console.log ("Success")
}
else
{
console.log ("Fail")
}
}
async isReady(classes: Class)
{
// does not include code here,
//during the test it returns false, it has been confirmed.
}
答案 0 :(得分:3)
我也无法重现这一点–如果isReady
返回false
,则check
将在控制台中显示“失败”。
async function isReady() {
return new Promise((resolve, reject) => {
window.setTimeout(() => resolve(false), 1000);
});
}
async function check() {
if (await isReady()) {
console.log("success");
} else {
console.log("fail");
}
}
check();