具有未知数量的回调参数的 Axios spread()

Axios spread() with unknown number of callback parameters

我需要用 axios 处理未知数量的 AJAX 请求(1 个或更多),我不确定如何处理响应。我想要类似的东西:

let urlArray = [] // unknown # of urls (1 or more)

axios.all(urlArray)
.then(axios.spread(function () {
  let temp = [];
  for (let i = 0; i < arguments[i].length; i++)
    temp.push(arguments[i].data);
}));

其中参数将包含 axios 发送的回调响应。问题是 arguments 包含给定的字符串 url 而不是实际响应。我该如何解决这个问题?

您需要在某个地方提出实际要求。然后不使用 spread 而只使用 then 来接收结果数组:

let urlArray = [] // unknown # of urls (1 or more)

let promiseArray = urlArray.map(url => axios.get(url)); // or whatever
axios.all(promiseArray)
.then(function(results) {
  let temp = results.map(r => r.data);
  …
});