axios请求封装,请求失败防错处理

封装axios请求类,含异常后的防错请求,该请求方式在前后端分离项目中不存在跨域问题

import axios from 'axios'

class Server {
    constructor(option) {
        this.basicUrl = '/';//接口前缀
        this.option = option
    }

//开始尝试请求
    start() {
        let _self = this
        this.option.url = this.basicUrl + this.option.url
        //此处可对option通用参数进行定义或改写
        return new Promise(function (resolve) {
            let obj = axios(_self.option);
            obj.then(res => {
                resolve(res);
            }).catch(e => {
                window.console.log(e)
                _self.start()//请求失败后重新请求
            })
        })

    }
}

export const ajax = function (option) {
    return new Server(option).start();
}

导入

 import {ajax} from "../units/ajax";

调用

ajax({
     url: 'api',
     method: 'get'
  }).then(res=>{
     window.console.log(res)
  })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值