Axios-多个请求数量未知

时间:2019-06-13 03:08:47

标签: javascript promise axios

Axios显示您可以使用以下命令同时执行多个请求:

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
  }));

因此,似乎您需要知道将完成多少个请求。我的问题是我不知道在任何时候都需要完成什么或多少个请求。

所以我要做的是创建了一个将请求准备就绪的函数:

createAxiosRequest(id) {
        return axios.get('https://someapi.com/' + id);
      }

    prepareRequests(numOfReq){
       var arr=[];
           for(var i = head ; i > 0; i--){
            arr[i] = createAxiosRequest(i);
            }
    }

所以在这里,我基本上返回一个包含所有请求的数组。然后,我将这个数组放入:

axios.all(prepareRequests(13))
            .then(axios.spread(function (acct, perms) {//What do I do here now?

            }))

这是我的问题所在。我不知道会有多少个请求,因此我无法事先指定这些“ acct,perms等”响应。我不确定如何做到这一点,这样我就可以获取所有请求,并且即使一两个失败,我也希望仍然可以通过请求,但这似乎只有所有成功都可以运行。

0 个答案:

没有答案