javascript - axios spread() 回调参数数量未知

标签 javascript ajax axios

我需要使用 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);
  …
});

关于javascript - axios spread() 回调参数数量未知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37149466/

相关文章:

javascript - API 和网站位于同一端口的请求资源上不存在 'Access-Control-Allow-Origin' header

javascript - 在 iPhone 上检测 “Done” 以获取 YouTube/Vimeo 视频(退出全屏)

javascript - 图像占位符与 Angular 1 中的不同

javascript - 使用 AJAX 查询填充表单字段

javascript - 禁用模式中按钮的刷新

javascript - 通过axios post调用传递参数

axios - 如何解决 "' response' is defined but never used"on axios.then 回调

javascript - OpenLayers + Liferay 门户组件

javascript - $resource transformResponse 不工作

ajax - :ajax update not working with p:selectBooleanCheckbox