Axios показывает, что вы можете делать несколько запросов одновременно, используя:
function getUserAccount() {
return axios.get('/user/12345');
}
function getUserPermissions() {
return axios.get('/user/12345/permissions');
}
axios.all([getUserAccount(), getUserPermissions()])
.then(axios.spread(function (acct, perms) {
// Both requests are now complete
}));
Похоже, вам нужно знать, сколько запросов будет выполнено. Моя проблема в том, что я не знаю, какие или сколько запросов нужно будет выполнить в любой момент.
Итак, я создал функцию, которая будет готовить запросы:
createAxiosRequest(id) {
return axios.get('https://someapi.com/' + id);
}
prepareRequests(numOfReq){
var arr=[];
for(var i = head ; i > 0; i--){
arr[i] = createAxiosRequest(i);
}
}
Так что здесь я, по сути, возвращаю массив со всеми запросами. Затем я беру этот массив и помещаю его в:
axios.all(prepareRequests(13))
.then(axios.spread(function (acct, perms) {//What do I do here now?
}))
И вот где моя проблема. Я не знаю, сколько запросов будет, поэтому я не могу заранее указать ответы "acct, perms и т.д.". Тогда я не уверен, как сделать так, чтобы я мог получать все запросы, а также я хочу, чтобы запросы по-прежнему проходили, даже если один или два не были выполнены, но, похоже, это выполняется, если все они успешны.