1
我有一個邏輯如下圖所示,返回諾內for循環
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;
}
但它返回的第一次迭代本身的價值。 是否有可能在這種for循環中返回promise,或者我們有其他解決方案嗎?
您在代碼中有多個承諾。你想要返回哪一個?如果你想組合promise,把它們放在一個數組中並使用promise.all函數。請參閱:http://stackoverflow.com/questions/24852126/is-there-a-way-to-resolve-multiple-promises-with-protractor – raichu
需要返回for循環內的承諾 – Prabhu
我的意思是說你有循環中的多重承諾。每次迭代都會產生一個或兩個承諾。 – raichu