gpt4 book ai didi

javascript - 如何将 promise 中标识的值添加到 Protractor 中的数组中?

转载 作者:行者123 更新时间:2023-12-03 04:48:03 24 4
gpt4 key购买 nike

我正在尝试向数组添加值。问题是,我只能获取 promise 中的值。我尝试在数组内分配值,但是当我尝试使用该数组时,剩下的唯一值是分配的最后一个值。

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

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;
})
}

我也尝试过返回值:

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

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

但我得到的只是一个 Promise 数组……就我而言,我也无法使用它,因为我将这些值传递给另一个处理字符串值而不是 Promise 的方法。我知道我可以让它处理 promise ,但是没有其他办法吗?或者我只是错过了什么?

有什么想法吗?

最佳答案

我会将每个数组元素映射到一个 promise ,如下所示:

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
});

关于javascript - 如何将 promise 中标识的值添加到 Protractor 中的数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42779924/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com