我有一个更新功能,可以更新三个表。我想先进行验证,然后如果没有错误出现,请运行实际的更新代码。
从下面的代码中可以看到,我创建了一个update方法来为我的更新请求构建axios对象,并创建了一个错误将其发布到验证端点。
当我使用axios.all()运行三个验证请求时,即使我一点都没有调用它们,它也会向更新端点发送请求。我不知道为什么会这样。谁能看到这里发生的事情?
updateMethod: function() {
dataObj1 = {
somekey: some value
}
axiosArray.push(this.updateAxios('model1', id1, dataObj1));
errorsAxiosArray.push(this.errorsAxios('model1', dataObj1));
dataObj2 = {
somekey: some value
}
axiosArray.push(this.updateAxios('model2', id2, dataObj2));
errorsAxiosArray.push(this.errorsAxios('model2', dataObj2));
dataObj3 = {
somekey: some value
}
axiosArray.push(this.updateAxios('model3', id3, dataObj3));
errorsAxiosArray.push(this.errorsAxios('model3', dataObj3));
axios.all(errorsAxiosArray)
.then(axios.spread(function (res1, res2, res3) {
//COMMENTED OUT CALL TO axios.all(axiosArray) etc...
}))
},
updateAxios: function(model, id, data) {
return axios({
method: 'put',
url: '/' + model + '/' + id,
data: data
})
},
errorsAxios: function(model, data) {
return axios({
method: 'post',
url: '/' + model + '/update_validation',
data: data
})
}
运行以下命令时,将axios.all()调用对更新方法的操作注释掉,更新方法仍然运行,并且我收到422个验证方法要捕获的错误。为什么要调用axiosArray请求集?