如何在量角器中追回多个记者,这些记者包含在承诺中?

时间:2016-12-16 16:40:41

标签: javascript promise protractor jasmine-reporters

我有以下记者

 afterLaunch: function (exitCode) {

    return new Promise(function (resolve) {
        reporter1.afterLaunch(resolve.bind(this, exitCode));
    });

    return new Promise(function (resolve) {
        reporter2.afterLaunch(resolve.bind(this, exitCode));
    });
}

上述每个记者都有自己的发布后,一旦执行了ptor.conf文件中的发布后,就会执行该发布。

但显然是因为return new Promise,第一个报告从那里返回,执行就在那里停止。

如何同时返回两个报告?

1 个答案:

答案 0 :(得分:4)

如果您正在操作webdriver承诺,则需要Promise.all()(或protractor.promise.all()):

var promise1 = new Promise(function (resolve) {
    reporter1.afterLaunch(resolve.bind(this, exitCode));
});

var promise2 = new Promise(function (resolve) {
    reporter2.afterLaunch(resolve.bind(this, exitCode));
});

return Promise.all([promise1, promise2]);