axios onDownloadProgress和onUploadProgress配置进度条

先来个简单的例子试试水

1 axios({
2   url: 'https://www.***.com/***.png',
3   method: 'get',
4   onDownloadProgress (progress) {
5     console.log(Math.round(progress.loaded / progress.total * 100) + '%');
6   }
7 })

上面的代码添加了一个简单的axios请求,使用get方法请求一张图片,然后以百分比的形式打印出我们从服务器下载这张图片的进度,大家可以把 url 参数换成一张比较大的图片链接试试。

用了上面的例子应该就对这个下载请求进度调有所掌握了,但我们经常是将axios封装之后使用的,如果是这样该怎么添加进度条呢?也很简单,看下面例子

先使用 axios 定义post 请求,并将第三个参数作为配置项传入

复制代码
 1 const httpPost = (URL, params, config = {}) => {
 2   return axios({
 3     url: URL,
 4     method: 'post',
 5     data: {
 6       ...params
 7     },
 8     ...config
 9   })
10 }
复制代码

在其他地方使用这个post请求并添加进度条

httpPost('http://hah.com', {}, {
  onUploadProgress (progress) {
    console.log(Math.round(progress.loaded / progress.total * 100) + '%');
  }
})

可以看到这里用的是  onUploadProgress ,为什么呢?也很简单,我们平时是使用 post 请求来上传数据,使用 get 请求来下载数据。

好了,以上!

 

 

 

posted @   blackbentel  阅读(24267)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示