如何解决当在黄瓜步骤def中调用promise函数时,promise返回timdeout 5000ms
我要重复操作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 举报,一经查实,本站将立刻删除。