我想使用Axios库发送多个请求。因此,根据docs,我可以使用all
方法执行此操作。这是一个例子:
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
}));
但为什么我需要写
.then(axios.spread(function (acct, perms) {
// Both requests are now complete
}));
而不是
.then(function (acct, perms) {
// Both requests are now complete
});
如果它也能正常工作?
答案 0 :(得分:0)
您需要使用axios.spread
,因为它用于将参数数组分散到多个参数中。当您使用axios.all
发出多个ajax请求时,这可以防止出错。
axios.all([
axios.get('https://api.github.com/users/abc');
axios.get('https://api.github.com/users/abc/repos')
])
.then(axios.spread(function (userResponse, reposResponse) {
console.log('User', userResponse.data);
console.log('Repositories', reposResponse.data);
}));