我正在使用axios promise库,但我认为我的问题更普遍。目前,我正在循环一些数据,并针对每个迭代执行单个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仍在请求中。如何处理这种情况?
Axios确实有一个all
方法和一个spread
方法,但它们似乎只适用于预先知道要进行多少次调用的情况,而在我的情况下,我不知道会有多少遍循环。