Ich habe den folgenden Hilfscode, von dem ich versuche, die Anzahl der Vorkommen einer Zeichenfolge zurückzugeben.Geben Sie einen Wert von forEach in Winkelmesser zurück - Verwalten von Schließungen
this.getActualFilteredStatusCount = function(strFilter){
return this.getTotalRows().then(function(count){
var totalCount = count;
var statusElementsObjs = $$(CommonElements.filterElement);
var occurence = 0;
var index = 0;
$$(CommonElements.filterElement).each(function(item){
return item.getText().then(function(input){
++index;
if (input.indexOf(strFilter)>=0){
++occurence;
console.log(occurence);//this worked fine
}
if(index>=totalCount){
return occurence;
}
});
});
});
}
Diese Funktion gibt nur undefined oder 0 zurück, aber nicht den richtigen Wert.
Ich habe viele Artikel über die Verwendung von Closures gelesen, aber konnte einfach nicht verstehen, dieses Problem zu lösen. Irgendwelche Vorschläge oder alternative Möglichkeiten, dies zu tun, wären hilfreich.
Verwenden Sie 'Promise.map' anstelle von' .each' –