【发布时间】:2018-06-07 13:01:44
【问题描述】:
我正在尝试在 for 循环中的 Promise 完成后做出响应。
我看过thesequestions,但他们没有解决我的情况。
methodGetOrders 和 methodGetLines 是我必须使用的外部库的一部分。他们都打网络电话,所以有一些预期的滞后。该函数总是返回一个“0”,因为它不等待内部承诺完成。我意识到没有办法“等待”承诺完成,但是如何在响应中获得正确的 counter 值?
doWorkMainFunction() {
methodGetOrders()
.then(orderList => {
var counter=0;
for (var i=0; i< orderList.length; i++) {
methodGetLines()
.then (lineData => {
if (someCondition) { counter++; }
} // end of inner THEN
} // end FOR loop
return counter; // This always returns '0'
} // end of outer THEN
}
【问题讨论】:
标签: javascript for-loop promise return