Protractor 中的承诺回调排序
Promises callbacks ordering in Protractor
在下面的代码中为什么promise resolved
显示在promise being resolved
之前?
var p = protractor.promise.defer();
element(by.css("input.m-call-to-action")).click().then(function() {
console.log('promise being resolved');
p.fulfill(true);
});
browser.wait(function() {
console.log('p', p);
return p;
}, 5000);
console.log('promise resolved', p);
这基本上就是 Control Flow 文档页面描述的内容:
WebDriverJS (and thus, Protractor) APIs are entirely asynchronous. All
functions return promises.
Protractor 维护一个控制流队列,您的 click()
承诺在开头,browser.wait()
在结尾。当记录 promise resolved
时,none 队列中的承诺得到解决。
在下面的代码中为什么promise resolved
显示在promise being resolved
之前?
var p = protractor.promise.defer();
element(by.css("input.m-call-to-action")).click().then(function() {
console.log('promise being resolved');
p.fulfill(true);
});
browser.wait(function() {
console.log('p', p);
return p;
}, 5000);
console.log('promise resolved', p);
这基本上就是 Control Flow 文档页面描述的内容:
WebDriverJS (and thus, Protractor) APIs are entirely asynchronous. All functions return promises.
Protractor 维护一个控制流队列,您的 click()
承诺在开头,browser.wait()
在结尾。当记录 promise resolved
时,none 队列中的承诺得到解决。