zoukankan      html  css  js  c++  java
  • axios并行请求

    有些操作需要在几个异步请求都完成之后再执行,虽然一个Ajax可以放到另一个Ajax完成的回调里面,但这样很容易导致回调地狱,且代码也极其不美观。

    幸运的是axios提供了并行请求的方法,

    使用方法:

    1.先准备好多个请求,如get,放入一个数组中,[axios.get(url1),  axios.get(url2),  axios.get(url3)]

    2.把请求数组放入axios.all中调用

    3.在回调的参数是一个数组,分别对应各请求的结果

    代码: 

     1 let urls = [
     2         'https://jsonplaceholder.typicode.com/posts/1',
     3         'https://jsonplaceholder.typicode.com/posts/2',
     4         'https://jsonplaceholder.typicode.com/posts/3'
     5       ]
     6       let axiosList = []
     7       urls.forEach(url => {
     8         axiosList.push(axios.get(url))
     9       })
    10       axios.all(axiosList).then(function (res) {
    11         let p1 = (res[0].data)
    12         let p2 = (res[1].data)
    13         console.info(p1)
    14         console.info(p2)
    15       })

     也可以使用spread把请求进行分割,这样注意回调里面的参数会有不同。

    1 axios.all(axiosList).then(axios.spread(function (res1, res2, res3, res4) {
    2         let p1 = (res1.data)
    3         let p2 = (res2.data)
    4         console.info(p1)
    5         console.info(p2)
    6       }))

    附axios的post使用示例:  

    1 axios.post(url,{
    2       username: 'admin',
    3       password: '1230'
    4     }).then(res => {
    5       console.info(res.data)
    6     }).catch(res =>{
    7       console.info(res)
    8     })
  • 相关阅读:
    逻辑卷管理LVM (Logical Volume Manager)
    Windows Server 2008 R2 域控修改域用户密码复杂性
    win7 加域开机自动登录域用户
    红帽Linux 配置VNC桌面远程工具
    Redhat linux 挂载命令mount
    SUSE Linux 防火墙设置
    IPv4 地址分类
    常用RAID简介_001
    Element UI
    ie中datepicker赋值不成功
  • 原文地址:https://www.cnblogs.com/jyughynj/p/11225394.html
Copyright © 2011-2022 走看看