Javascript 在循环一个异步函数之后,如何获得对值的访问
我试图运行抛出一个异步函数循环并计算所有元素的和,在这里我可以访问最终的Javascript 在循环一个异步函数之后,如何获得对值的访问,javascript,selenium,webdriver,protractor,end-to-end,Javascript,Selenium,Webdriver,Protractor,End To End,我试图运行抛出一个异步函数循环并计算所有元素的和,在这里我可以访问最终的和 it("Select.all practice", function(){ element.all(by.css('.items li')).then(function(items) { var len = items.length; var sum = ""; for(var counter = 0; counter<len;counter++){
和
it("Select.all practice", function(){
element.all(by.css('.items li')).then(function(items) {
var len = items.length;
var sum = "";
for(var counter = 0; counter<len;counter++){
items[counter].getText().then(function(item){
sum += item;
console.log(sum);
});
}
});
});
it(“Select.all practice”,函数(){
元素.all(by.css('.items li'))。然后(function(items){
var len=items.length;
var sum=“”;
for(var counter=0;counter看起来您在尝试进行加法时正在处理字符串
it("Select.all practice", function(){
element.all(by.css('.items li')).then(function(items) {
var len = items.length;
var sum = 0;
for(var counter = 0; counter<len;counter++){
items[counter].getText().then(function(item){
sum += parseInt(item);
console.log(sum);
});
}
});
});
it(“Select.all practice”,函数(){
元素.all(by.css('.items li'))。然后(function(items){
var len=items.length;
var总和=0;
对于(var counter=0;counter有一个非常有用的函数,它非常适合用例:
element.all(by.css('.items li')).reduce(function(acc, elem) {
return elem.getText().then(function(text) {
return acc + parseInt(text);
});
}, 0).then(function (value) {
console.log(value);
});
谢谢,我在哪里可以访问循环外的和值?在哪里添加?然后在计算sum@user1684140请参阅使用reduce()的替代方法
。OP的主要问题是操作的异步性,这个答案无法解决。天哪!我应该开始在量角器上找工作了。我不知道存在reduce
函数!