我想使用 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  
      }); 

它也能正常工作吗?

请您参考如下方法:

您需要使用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); 
})); 


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!