Typescript 打字稿/量角器。循环和元素查找并解决承诺

Typescript 打字稿/量角器。循环和元素查找并解决承诺,typescript,promise,protractor,Typescript,Promise,Protractor,我想在量角器中使用typescript执行以下操作: let cellsTxt = await Promise.all(cells.map(cell => cell.getText())); 这里我想通过一个ElementArrayFinder来获取每个元素的文本 到目前为止,我提出了以下内容,这些内容冗长且不起作用: let cellsTxt: Array<string> = []; let cellsTxtPromise: Array<promise.Promise

我想在量角器中使用typescript执行以下操作:

let cellsTxt = await Promise.all(cells.map(cell => cell.getText()));
这里我想通过一个ElementArrayFinder来获取每个元素的文本

到目前为止,我提出了以下内容,这些内容冗长且不起作用:

let cellsTxt: Array<string> = [];
let cellsTxtPromise: Array<promise.Promise<string>> = [];
cells.forEach((cell: ElementFinder, i:number) => {
  cellsTxtPromise[i] = cell.getText();
})
cellsTxt = await Promise.all(cellsTxt);
我欢迎任何指向正确解决方案的指针

谢谢


编辑:这不是一个相关问题;由于我面临的问题是由另一段代码引起的。

我认为有几种方法可以实现相同的目标:

1) let cellsTxt = await cells.getText(); // you can call getText() on ElementArrayFinder

2) let cellsTxt = await cells.map(cell => await cell.getText()));

3) let cellsTxt = await Promise.all(cells.map(cell => cell.getText()));

4) let tmp = []; 
   let cellsTxt = await cells.each(cell => tmp.push( await cell.getText() ))
                             .then(()=> return tmp;)

您可以尝试让cellstext=wait cells.getText;非常感谢,实际上错误来自函数返回ElementArrayFinder。这是一个异步函数,因此实际上它返回一个包含ElementArrayFinder的承诺。我需要多玩一点,以确保我理解的一切正确。但2和3是有点复杂的打字脚本没有?它将把变量单元格从ElementArrayFinder变为字符串数组。这是typescript,它给了我一个学习曲线