我想在while循环中封装一个promise,以便执行我的方法直到满足条件。我试图实现这一点,但是我最终会产生无限的承诺,直到发生堆栈溢出。
我想在TypeScript中实现类似下面的内容:
while (responseSuccess === false) {
myClass.executeScript.then((thisWasSuccessful: boolean) => {
responseSuccess = thisWasSuccessful;
});
我知道这有点不同寻常,但我创建的脚本是对服务器通常执行的请求。它并不总是第一次返回成功,或者 n 次(不是我可以改变的)。
答案 0 :(得分:2)
嗯,我同意其他答案,使用async / await运算符实现它很容易。 Typescript的最新稳定版本2.1.4已经可以将异步/等待代码转换为ES5。
如果你真的需要只使用标准的Promise来做这件事,那么这样就足够了吗?
w=1
我目前没有测试此代码的环境,所以如果它无效,我会道歉。
答案 1 :(得分:1)
尝试使用await运算符。
findstr
PS:您应该使用TS 2.1或更高版本来定位ES5