执行一个promise,直到满足条件(在while循环中)

时间:2016-12-27 20:18:09

标签: typescript promise protractor

我想在while循环中封装一个promise,以便执行我的方法直到满足条件。我试图实现这一点,但是我最终会产生无限的承诺,直到发生堆栈溢出。

我想在TypeScript中实现类似下面的内容:

while (responseSuccess === false) {
    myClass.executeScript.then((thisWasSuccessful: boolean) => {
         responseSuccess = thisWasSuccessful;
    });

我知道这有点不同寻常,但我创建的脚本是对服务器通常执行的请求。它并不总是第一次返回成功,或者 n 次(不是我可以改变的)。

2 个答案:

答案 0 :(得分:2)

嗯,我同意其他答案,使用async / await运算符实现它很容易。 Typescript的最新稳定版本2.1.4已经可以将异步/等待代码转换为ES5。

如果你真的需要只使用标准的Promise来做这件事,那么这样就足够了吗?

w=1

我目前没有测试此代码的环境,所以如果它无效,我会道歉。

答案 1 :(得分:1)

尝试使用await运算符。

findstr

PS:您应该使用TS 2.1或更高版本来定位ES5