filterdList.length值总是等于下面代码的元素总数。所以这个方法总是返回false。表中只有一个与给定名称匹配的项目。使用async/await和promise查找数组中的匹配元素
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'定义之内? – guest271314
名称作为参数传递给此方法。 – Karthi
什么是'itemList'?我不认为它的'过滤器'方法会带来承诺 - 回传回调。 – Bergi