У меня есть логика, как показано ниже,Возвращение обещание внутри цикл
getSpecificCell: function(tableObject, rowText, columnCss) {
var ele = element.all(by.repeater(tableObject)).count().then(function(count) {
for (var i = 0; i < count; i++) {
return element(by.repeater(tableObject).row(i)).getText().then(function(txt) {
if (txt.indexOf(rowText) !== -1) {
return element(by.repeater(tableObject).row(i)).element(by.css('[' + columnCss + ']'));
}
});
}
});
return ele;
}
Но она возвращается значение в самой первой итерации. Можно ли возвратить обещание в этом виде цикла или у нас есть какое-либо другое решение для этого?
У вас есть несколько обещаний в вашем коде. Кого вы хотите вернуть? Если вы хотите совместить обещания, поместите их в массив и используйте функцию prom.all. См.: Http://stackoverflow.com/questions/24852126/is-there-a-way-to-resolve-multiple-promises-with-protractor – raichu
Нужно вернуть обещание, которое находится внутри цикла for – Prabhu
Я имею в виду, что у вас есть несколько обещаний в вашем цикле. Каждая итерация генерирует одно или два обещания. – raichu