一尘不染

量角器:承诺如何运作?

angularjs

我对angular中的$ q库如何工作有一个不错的想法,但是我不确定量角器或web-driver-
js如何使用它们。(特别是因为我认为量角器/网络驱动程序/角度之间的利用率略有不同)

例如,我在量角器教程中看到的示例代码似乎是逐行编写的,并且假定上一个在下一个之前完成。(例如,browser.get(url)后跟browser.getTitle())是否存在某种隐含的承诺?(我不必手动推迟解决/实现)

我已经阅读了https://github.com/angular/protractor/blob/master/docs/getting-
started.md,
并略过了webdriver文档和量角器api的链接,但我的理解仍然有些模糊。有些函数似乎返回值,而有些返回承诺像同步和异步代码的奇怪混合。


阅读 235

收藏
2020-07-04

共1个答案

一尘不染

是否存在某种隐含的前途?

查看https://github.com/angular/protractor/blob/master/docs/control-
flow.md,答案似乎是 肯定的 ,通过使用承诺队列,称为控制流。因此,请扩展您的示例:

browser.get(url);
var title = browser.getTitle();
expect(title).toEqual('My Title');

上面的每一行都添加到队列中。变量title实际上是一个承诺,它在控制流中的适当点expect解开。

2020-07-04