pj0*_*013 1 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));
});
}
Run Code Online (Sandbox Code Playgroud)
上述每个报告程序都有自己的启动后程序,一旦执行ptor.conf文件中的启动后程序,便有望执行。
但是显然由于return new Promise
,第一个报告本身从那里返回,执行从那里停止。
如何同时返回两个报告?
您需要Promise.all()
(或者protractor.promise.all()
如果您正在运行Webdriver Promise):
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]);
Run Code Online (Sandbox Code Playgroud)