axios合并异步请求

axios实践

Posted by Silence on May 6, 2019

axios合并异步请求

axios合并异步请求,比如页面初始化的时候需要进行三次请求,而我们需要在这三个请求都结束后进行操作。但是由于我们无法确认异步什么时候结束,所以可以使用axios请求来将三个请求合并发送(注意:发送的仍然是三个请求,并不是合并成了一个请求),最后可以等这三个请求都结束后开始想进行的操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  request1 = () => {
    return axios.get(url1, {
      params: {
        param1:param1
      }
    });
  }

  request2 = () => {
    return axios.get(url2, {
      params: {
        param1:param1
      }
    });
  }

  request3 = () => {
    return axios.get(url3, {
      params: {
        param1:param1
      }
    })
  }

  initDataAll = () => {
    axios.all([this.request1(), this.request2(), this.request3()])
      .then(axios.spread((resp1, resp2, resp3) => {
        //此时三个请求已经完成,三个参数分别存放三个请求返回的结果
      }));
  }