2016-11-15 81 views
0

我想用爱可信库发送多个请求。因此,根据docs,我可以all方法做到这一点。这是例子:为什么我需要在axios.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

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

所以,可以用我的AJAX请求发生什么,如果我不使用'spread'? – JustLogin

+0

我不是在爱可信的专家而言,而是一个数组是不是争论我怀疑一个有效的输入。 –

+0

我不是在爱可信的专家而言,而是一个数组是不是一个说法我怀疑一个有效的输入。 –

相关问题