Javascript 如何将promise中标识的值添加到量角器中的数组中?

Javascript 如何将promise中标识的值添加到量角器中的数组中?,javascript,protractor,Javascript,Protractor,我正在尝试向数组添加值。问题是,我只能得到承诺中的值。我尝试在数组中赋值,但当我尝试使用数组时,只剩下最后一个赋值 这些值是根据不同数组中的值从页面中获取的。例如: var array1 = ['1','2','3']; var array2 = []; for (i=1;i<array1.length;i++) { element(By.xpath(`//div/table/tbody/tr[1]/td[${array1[i]}]`)).getText().then(funct

我正在尝试向数组添加值。问题是,我只能得到承诺中的值。我尝试在数组中赋值,但当我尝试使用数组时,只剩下最后一个赋值

这些值是根据不同数组中的值从页面中获取的。例如:

var array1 = ['1','2','3'];
var array2 = [];

for (i=1;i<array1.length;i++) {
    element(By.xpath(`//div/table/tbody/tr[1]/td[${array1[i]}]`)).getText().then(function(elemText){
        array2[i] = elemText;
    })
}
vararray1=['1','2','3'];
var array2=[];

对于(i=1;i我会将每个数组元素映射到一个承诺,如下所示:

var array1 = ['1','2','3'];

var promises = array1.map(function(i) {
    return element(By.xpath(`//div/table/tbody/tr[1]/td[${i}]`)).getText();
});

Promise.all(promises).then(function(result) {
    // result is your new array here
});

首先,将迭代变量i放入全局对象中。使用let关键字:

for (let i=1;i<array1.length;i++)

for(让我=1;是的,应该从0开始抱歉。无论如何,我不明白你的答案。无论如何,我会尝试一下,我会通知你它是否有效。是的,我知道我可以只处理承诺,但我希望有一种方法可以获得价值,而不是承诺。
for (let i=1;i<array1.length;i++)