我有一個需要檢查值的函式。如果它不存在,那么它需要等待,然后再次呼叫自己。下面是代碼。但它似乎沒有等待 5 秒,而是繼續執行而不等待它。我該如何修復它?
loadAPI(status: string) {
.....
if (this.result === "done") {
.....
}
else
{
this.sleep(5000);
loadAPI(this.status);
}
}});
}
sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
uj5u.com熱心網友回復:
我已經使用 vanilla js 和 async/await 編輯了您的示例代碼,您也可以在 Typescript 中實作它
class App
{
async loadAPI(status) {
console.log(status)
if (false) {
}
else
{
await this.sleep(2000);
this.loadAPI(status);
}
}
sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
}
(new App).loadAPI('loadAPI called')
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/491842.html
