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等”响应。我不确定如何做到这一点,这样我就可以获取所有请求,并且即使一两个失败,我也希望仍然可以通过请求,但这似乎只有所有成功都可以运行。