【发布时间】:2018-03-25 00:25:25
【问题描述】:
filterdList.length 值始终等于具有以下代码的元素总数。所以这个方法总是返回false。表中只有一项与给定名称匹配。
async itemExists(name) : Promise<boolean>{
const itemList = await element.all(this.itemList)
const filterdList= await Promise.all(itemList.filter( async (item) =>{
let text = await item.getText();
if (text == name) {
return true;
}
}));
return await filterdList.length == 1;
}
如下调用该方法
console.log(await itemExists('unique item name'));
【问题讨论】:
-
name定义在哪里? -
name 作为参数传递给此方法。
-
什么是
itemList?我不认为它的filter方法会接受一个返回承诺的回调。 -
您绝对不需要(也不应该)
awaitfilterdList.length == 1比较的布尔结果。 -
itemList是Promise值的数组还是Promises 的数组?
标签: javascript typescript async-await protractor