如何使用打字稿将CSSVALUE存储在量角自动化中的数组中



我正在打字稿中编写量角自动化脚本。我有一系列的WebElements作为ElementArrayFinder返回。我需要将每个元素的"字体重量"存储在单独的数组/地图中并返回。我的脚本显示,即使在推送语句之后,数组的长度也是0。有人可以帮助实现这一目标。

public getFontWeightOfElements () : promise.Promise<string>[]
{
    let array1 : promise.Promise<string>[] = [];
    //taskList is array of WebElements
    this.taskList.each((element) =>
    {
        element.getCssValue('font-weight')
          .then((value) =>
          {
            array1.push(value);
          })
    })
    console.log(array1.length); // getting 0 each time
    return array1;

问题在于,在异步操作之前返回数组,已解决的承诺已解决。这是一个解决方案

getFontWeightOfElements(): Promise<string[]> {
  return this.taskList.map(element => element.getCssValue('font-weight'));
}

请注意,返回类型不再是Promise S的数组,而是arrayPromise

像这样的消费

getFontWeightOfElements().then(fontWieghts => {
  fontWieghts.forEach(fontWieght => {
    console.log(fontWeight);
  });
});

最新更新