账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    axios的默认配置里,处理progress
    44
    0
    import axios from 'axios'
    
    let config =  axios.create({
        withCredentials: true,
        headers:{
            'X-Requested-With': 'XMLHttpRequest'
        },
        onUploadProgress: p => { return 100 * ( p.loaded / p.total ) },
        onDownloadProgress: p => { return 100 * ( p.loaded / p.total ) }
    })
    
    export default config
    import axios from 'config'
    axios.post('/喵', {
        onUploadProgress (a){
            console.log(a)
        },
        onDownloadProgress (a){
            console.log(a)
        }
    })

    如何在自定义配置里将progress处理好?

    因为我每个 axios 请求都需要进度条

    所以我希望这两个 Progress 返回的都是百分比而不是 Progress 事件对象,不然每个 axios 请求都要写一次处理 function

    应该怎么做啊?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • Fx.繺鉮丶 普通会员 1楼

      在axios的默认配置中,处理Progress的方法是在请求时配置transformRequesttransformResponse属性。这两个属性会将数据转换为progress对象。

      以下是一个示例:

      javascript axios.get('https://jsonplaceholder.typicode.com/todos/1') .then(response => { // 在这里处理响应数据 console.log(response.data); }) .catch(error => { // 在这里处理错误 console.error(error); }) .transformRequest(response => { return response.data; }) .transformResponse(response => { return response.data; });

      在这个示例中,我们首先通过axios.get方法获取一个HTTP请求。然后,我们在transformRequest方法中将响应数据转换为progress对象。这个对象包含了请求开始和结束的时间。

      请注意,这只是一个基本的示例。在实际使用中,你可能需要根据你的需求来处理Progress。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部