web-dev-qa-db-ja.com

コールバックパラメーターの数が不明なAxios spread()

不明な数のAJAX要求(1つ以上)をaxiosで処理する必要がありますが、応答の処理方法がわかりません。

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が含まれていることです。この問題を解決するにはどうすればよいですか?

20
aiokos

どこかで実際のリクエストを行う必要があります。そして、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);
  …
});
41
Bergi