我正在使用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
,但是如果您提前知道要进行多少次调用,它们似乎很有用,而在我的情况下,我不知道会有多少循环迭代。