问题描述
我要重复操作getRunDetailsstaus()
直到完成状态。
因此,我将条件放入.then()
处理程序中,然后将函数next()递归调用,直到状态为DONE。
getStatus(runDetailsId)
是一个承诺函数,可从mongoDB返回状态
请参阅下面的步骤定义:
何时(“用户等待,直到收到完成状态”,
let start = Date.Now()
function getRunDetailsstaus() {
return getStatus(runDetailsId) //promise function and returns the status from mongoDB
}
function next() {
return getRunDetailsstaus().then(function (result) {
console.log("status: ",result.runStatus,Date.Now() - start)
if (status == 'DONE') {
return status
}
else {
return next()
}
})
}
return next()
.then((response) => {
// process final results
})
.catch((error) => {
//process error
})
});```
But I get the following error:
function timed out,ensure the promise resolves within 5000 milliseconds
How should I resolve this issue in case the status done in mongo is set in ~30 min?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)