以下代码返回allRows []的长度为3,因为其中有3个数组。我试图建立一个最终的数组allRows。



  getRows() {
    return this.element.all(by.css(".xyz")).getText();
  }

  getTotalRows() {
    const allRows = [];

    for (let i = 0; i < 3; i++) {
      allRows.push(this.getRows());
      this.scrollDown();
      this.waitToLoad();
    }
    return allRows;
  }





实际上,getRows()返回的是一个Promise数组。对我的代码进行以下更改已解决了该问题



  getRows() {
    return this.pinnedRows.getText();
  }

  getTotalRows() {
    const defer = Promise.defer();
    let allRows = [];

    for (let i = 0; i < 3; i++) {
      this.getRows().then((rows) => {
        allRows = allRows.concat(rows);
        this.scrollDown();
        this.waitToLoad();
        if (i === 2) {
          defer.resolve(allRows);
        }
      });
    }
    return defer.promise;
  }

最佳答案

推送添加一个索引,您想要的是concat()

07-24 16:55