【发布时间】:2018-11-28 15:36:06
【问题描述】:
我是量角器的新手,并且一直在阅读使用 .then() 函数的承诺链。
例如
this.getContent = function(content) {
return element.all(by.repeater('item in list')).filter(function(elem) {
return elem.getText().then(function(text) {
return text;
});
}).first();
};
这可以很好地获取我正在寻找的文本。但是,我该如何重构它以使用 async 和 await 而不是 .then() 函数?
每次我尝试时,我都会得到一个元素浏览器而没有文本。
提前致谢
【问题讨论】:
-
可能值得注意的是
async和await与then等的promise 没有什么不同。所以不要指望这会“让codez 更快”因为它不会。async和await只是你已经在做的语法糖 -
“这可以很好地获取我正在寻找的文本” -
function(text) { return text; }的返回值对.filter()调用没有任何作用。.filter()部分与以下内容相同:.filter(function() { return true; }) -
是的,我从过滤器函数中删除了一些代码。所以在 await 中也可以使用 .then() 吗?
标签: javascript angularjs testing protractor