我已将我的应用更新为量角器版本5.0.0,我遇到了fulfill
的问题。看看下面的代码:
browser.s2.util.unzip = function(report){
return report.then(function(report){
var defer = protractor.promise.defer();
try {
var zip = new AdmZip(report);
var zipEntries = zip.getEntries();
zipEntries.forEach(function(zipEntry) {
zipEntry.d = zip.readFile(zipEntry);
});
defer.fulfill(zipEntries);
} catch (err){
defer.reject(err);
}
return defer;
});
};
正如我在Protractor changelog中看到的那样,他们已经更改了 selenium-webdriver ,请查看更改日志here。 Selenium的更新日志说
不推荐使用promise.fulfilled(value),使用promise.Promise #resolution(value)
我不知道这是怎么回事。我应该如何更改代码以使其与量角器5.0.0一起正常工作。
答案 0 :(得分:2)
如果我理解正确,您现在可以使用native promises(我希望它是正确的链接)。像这样:
browser.s2.util.unzip = function(report){
return report.then(function(report){
return new Promise(function(resolve, reject){
try{
// reading archives
var zip = new AdmZip(report);
var zipEntries = zip.getEntries(); // an array of ZipEntry records
zipEntries.forEach(function(zipEntry) {
zipEntry.d = zip.readFile(zipEntry);
});
resolve(zipEntries);
}catch(err){
reject(err);
}
})
});
};