简单封装axios.all,axios.spread处理axios并发请求

1,322 阅读1分钟

封装方法getAll function getAll(paramsAll){

let requestList=paramsAll.map(url=>{
    return axios({
        method:'GET',
        url:url.url,
        params:url.params,
    }).catch((err)=>{
    //catch 方法是重点 如果有某个接口报错 这样写 其他接口可以继续执行
        return false
    })
})
console.log(requestList,"requestListrequestList")
return new Promise((resolve, reject) => {
    this.axios.all(requestList).then(
        this.axios.spread((...res)=>{
            resolve(res)
        })
    )
})

}

多个并发请求得参数

let paramsAll=[ {url:"pagead2.googlesyndication.com/getconfig/"… sv:200, tid:"gda", tv:"r20201203", st:"env"},CancelToken:source}, {url:"pagead2.googlesyndication.com/sodar",para… sv:200, tid:"gda", tv:"r20201203", st:"env"},CancelToken:source}, ]

调用方法

getAll(paramsAll).then(res=>{ console.log(res,"getAll--res") })

 

theme: juejin axios.all axios.spread