在selenium webdriver nodejs环境中创建“自定义”承诺的正确方法是什么?
在一个典型的nodejs应用程序中,我只想创建一个包含所有异步调用的promise,如下所示:
return new Promise(function (resolve, reject) {
driver.method1().then(function(p1) {
driver.method2(p2).then(function(p2) {
resolve(p2);
});
});
});
我想知道,如果这是硒的正确方法,那么async-code实际上是一些selenium调用?
答案 0 :(得分:3)
看过webdriver本身的来源后,似乎在webdriver中的方式如下:
function async(p) {
let deferred = webdriver.promise.defer();
driver.method1(p).then(function(r1) {
driver.method2(r1).then(function(r2) {
deferred.fulfill(r2));
});
});
return deferred.promise;
}
async(p).then(function (result) {});
但我很想得到一些确认。