ES6 Promise封装axsios

原生的axios书写是这样的:

axios({

url: 接口地址,

method:请求方法,

data:携带数据,

}).then(res=>{

//请求接口成功的逻辑

}).catch(err=>{

//请求接口失败的逻辑

})

 Promise封装后:

export const get=(url,params){

        params=params||{};

        return Promise((resolve,reject)=>{

                axios.get(url,{params})

                .then(res=>{resolve(res);})

                .catch(error=>{reject(error);});

        })

}

将get方法挂在在Vue上。

Vue.prototype.$http={get,post};

     

调用

async geyList(){

        var res=await this.$http(url,params);

}

promise有三种状态,分别为进行中(pending),成功(resolved--也叫fulfilled失败态rejected

promise的方法

promise.then(()=>{}) ,//成功的回调,异步微任务

promise.catch(()=>{}) //失败的回调,异步微任务

promise.all([]); //接收一个可迭代的promise对象,如数组,执行所有的promise请求,有一个不成功,则返回不成功的回调

promise.any([]); //接收一个可迭代的promise对象,如数组,执行所有的promise请求,有一个成功,则返回成功的回调,全部子失败才算失败。

promise.race([]); //接收一个可迭代的promise对象,如数组,执行所有的promise请求,执行最先请求的回调。

promise.allSettled([]); //接收一个可迭代的promise对象,如数组,执行所有的promise请求,不管成功与否都返回。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值