javascript - Axios - 未知数量的多个请求
问题描述
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 等”响应。我不确定如何做到这一点,以便我可以获得所有请求,并且即使一两个失败,我仍然希望请求通过,但如果所有请求都成功,这似乎会运行。
解决方案
推荐阅读
- java - Spring Hibernate:使用组合 Priamry Key 存储 n:m 表值时出现 EntityExistsException
- palantir-foundry - 如何获得 Code Workbook 模块的管理员视图?
- c# - 无法加载文件或程序集“Accord.Video.FFMPEG.x64.DLL”或其依赖项之一。指定的模块无法找到
- symfony - 资产清单文件“manifest.json”不存在
- c - C中的结构排序
- java - 在运行时获取方面的实例
- javascript - 如何返回正值
- palantir-foundry - 如何在 Code Workbook 中访问数据集的旧事务?
- python - Tensorflow:使用 GPU 训练 Keras 模型
- python - python检查浮点值是否丢失