承诺在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);
这基本上就是控制流文档页面所描述的:
WebDriverJS(以及Protractor)API是完全异步的。全部的函数返回承诺。
Protractor维护一个控制流队列,其中click()
承诺在开始,browser.wait()
在结束。当记录promise resolved
时,队列中的任何promise都不会得到解析。
相关文章:
- AngularJS:我可以跳过函数参数回调吗
- 要求未定义JS回调参数
- MeteorJS:在带有回调的vzaar api上正确使用wrapAsync
- 自引用回调
- 测试Angular Service解决错误回调中的promise
- 如何将一个JavaScript函数回调为多个函数
- JavaScript回调函数
- 用于回调的javascript参数
- jquery Onclick函数带有导致双击的回调排序函数
- 对中的函数调用进行排序是回调的唯一方法
- 承诺在Protractor中进行回调排序
- 如何在从排序方法调用参数时将其传递给回调
- 回调函数的参数如何依赖于排序
- 使用 AJAX 回调更新挖空可观察数组会生成随机排序的结果
- 错误的排序回调-结果仍然正确
- 同位素排序回调函数
- 敲除可排序'拖动'回调不起作用
- 尝试理解对选择选项进行排序的 .each() 回调
- Javascript的回调排序
- Javascript排序回调不能在所有浏览器上工作