为了账号安全,请及时绑定邮箱和手机立即绑定

ESLint 规范导致的问题

http://img1.sycdn.imooc.com//5e7d0fc50001e0c009640299.jpg老师,因为我这边是有添加了ESLint,一直报这个错。需要怎么解决

正在回答

1 回答

import axios from 'axios'

import service from './contactApi'

import { Toast } from 'vant'


// service 循环遍历输出不同的请求方法

let instance = axios.create({

    baseURL: 'http://localhost:9000/api',

    timeout: 1000

})


// 包裹请求方法的容器

const Http = {}


// 请求格式/参数的统一

for(let key in service){

    let api = service[key] // url methods

    // async作用:避免进入回调地狱

    Http[key] = async function(

        params, //请求参数  get: url, put, post, patch(data), delete:url

        isFormData = false, //标识是否是forrm-data请求

        config={} //配置参数

    ){

        let newParams = {} 

        // content-type 是否是form-data的判断

        if(params && isFormData){

            newParams = new FormData()

            for(let i in params){

                newParams.append(i, params[i])

            }

        }else {

            newParams = params

        }

        // 不同请求的判断

        let response = {} //请求的返回值

        if(api.method === 'put' || api.method === 'post' || api.method === 'patch'){

            try{

                response = await instance[api.method](api.url, newParams, config)

            }catch(err){

                response = err

            }

        }else if(api.method === 'delete' || api.method === 'get'){

            config.params = newParams

            try{

                response = await instance[api.method](api.url, config)

            }catch(err){

                response = err

            }

        }

        return response //返回响应值



        // let res = null

        // try{

        //     res = await axios.get('url') // 异步函数

        // }catch(err){

        //     res = err

        // }

        // let res2 = await axios.get('url')

    }

}


// 添加请求拦截器

instance.interceptors.request.use(config=>{

    // 发起请求前

    Toast.loading({

        mask: false, // 是否有阴影

        duration: 0, //持续时间, 0一直展示

        forbidClick: true, //禁止点击

        message: '正在加载...'

    })

    return config

},()=>{

    // 请求错误

    Toast.clear()

    Toast('请求错误,请稍候重试')

})


// 添加响应拦截器

instance.interceptors.response.use(res=>{

    Toast.clear()

    return res.data

}, ()=>{

    Toast.clear()

    Toast('请求错误,请稍候重试')

})


export default Http


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
axios在vue中的使用
  • 参与学习       27657    人
  • 解答问题       157    个

本课程介绍了如何在vue项目中优雅的使用Axios。

进入课程

ESLint 规范导致的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信