根据特定条件x
,我需要立即执行重定向,或者在答应asyncFunction
解决后执行重定向:
if (x) {
await asyncFunction();
redirectToA();
}
redirectToA();
不过,这很丑陋。有没有一种方法可以简化此代码,以便
redirectToA();
仅出现一次? 最佳答案
我认为您可以简单地做到这一点:
if (x) {
await asyncFunction();
}
redirectToA();
这是一个示例,显示
redirectToA()
将等待:async function asyncFunction() {
return new Promise(resolve => {
setTimeout(() => {
resolve()
}, 3000)
})
}
function redirectToA() {
document.getElementById('status').innerText = "Redirected"
}
(async function() {
// your code is here
if (true) {
await asyncFunction()
}
redirectToA()
})()
<p id="status">
Running
</p>