【发布时间】:2020-09-24 01:02:51
【问题描述】:
我想用Javascript编写以下伪代码:
function asyncOperation() {
return new Promise((resolve, reject) => {
....
}
}
while (true) {
result = asyncOperation()
if result is good then break the loop;
else loop again
}
我会用文字来解释:asyncOperation 使用 Promise,例如 AJAX 调用。我希望如果 promise 被拒绝,那么 asyncOperation 将再次被调用。你知道如何用 Javascript 来实现吗?
【问题讨论】:
-
您在支持异步/等待的平台上吗?我觉得使用带有标志的 while 和相应地设置此标志的 try/catch 会非常简单。
-
async/await 是 Promises 的语法糖。
-
可以,但不是所有平台都支持。
-
答案很简单:您有绝对没有种方法可以做到这一点,而不会使您的调用代码异步。
标签: javascript promise es6-promise