axios的默认配置里,处理progress

发布于 2022-09-06 15:55:09 字数 683 浏览 35 评论 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

应该怎么做啊?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

油焖大侠 2022-09-13 15:55:10
  1. 创建了一个实例,用实例来写试试:

    config.post('/喵', {
        onUploadProgress (a){
            console.log(a)
        },
        onDownloadProgress (a){
            console.log(a)
        }
    })
  2. 或者参考一下这个例子:axios 实现上传图片进度条
骷髅 2022-09-13 15:55:10

是这么个道理没错,建议返回个对象,把p也返回了

 onUploadProgress: p => { return {percentage: 100 * ( p.loaded / p.total ), p:p} },
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文