为什么axios.all()发送请求不在请求数组中?

时间:2019-06-21 16:17:10

标签: vue.js vuejs2 axios

我有一个更新功能,可以更新三个表。我想先进行验证,然后如果没有错误出现,请运行实际的更新代码。

从下面的代码中可以看到,我创建了一个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请求集?

0 个答案:

没有答案