axios 浏览器内存泄露问题解决
现象#
业务页面,频繁切换下一条,内存飙涨,导致卡顿,之前怀疑是音频播放器的锅,修改后问题依旧,于是排查网络请求。
到axios issues搜索,发现memory leaks
帖子不少,典型的在这里Axios doesn't address memory leaks?:
这里提到0.19.2
版本没有问题,但是升级到0.20.0
后,出现问题。
两种解决方案:#
- 降级到
0.19.2
- 在新版本里,不要直接使用axios,而是先创建一个instance
const axios = axios.create({...}) // instead of axios.get(), post(), put() etc.
排查业务代码,发现每次请求都是创建一个 instance,抛开版本问题,每次创建实例肯定会存在内存问题,最好还是先创建个single instance,后面复用:
import axios, { AxiosRequestConfig, AxiosResponse } from 'axios'
// 创建一个实例
const axiosInstance = axios.create()
save(parameters: {
'data': ResultSaveParam,
$queryParameters?: any,
$domain?: string
}): Promise<AxiosResponse<ApiResult>> {
....
// 使用axiosInstance
return axiosInstance.request(config)
}
关注作者
作者: JadePeng
出处:https://www.cnblogs.com/xiaoqi/p/axios-memory-leaks.html
版权:本文采用「署名-非商业性使用-相同方式共享 4.0 国际(欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接) 」知识共享许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2011-11-04 Mongodb 定时释放内存