6
我正在使用the axios承諾庫,但我的問題適用於我認爲更一般的情況。現在,我正在循環一些數據,並在每次迭代中創建一個REST調用。
隨着每個調用完成,我需要將返回值添加到對象。在高層次上,它看起來像這樣:等待在循環中調用的所有承諾完成
var mainObject = {};
myArrayOfData.forEach(function(singleElement){
myUrl = singleElement.webAddress;
axios.get(myUrl)
.then(function(response) {
mainObject[response.identifier] = response.value;
});
});
console.log(convertToStringValue(mainObject));
發生了什麼事,當然當我打電話console.log
的mainObject
不具有任何數據還,因爲愛可信還是伸手是。處理這種情況的好方法是什麼?
Axios確實有一個all
方法以及一個姊妹spread
其中一個,但它們似乎是有用的,如果你提前知道你會打多少個電話,而在我的情況下,我不知道有多少循環迭代將會出現。