axios请求优化
- 使用拦截器:可以在请求拦截器中进行一些公共操作,例如添加请求头、设置
token、转换请求参数等;在响应拦截器中进行一些公共操作,例如错误处理、转换响应数据等。 - 配置默认参数:可以通过 axios.defaults 设置全局的默认参数,例如 baseURL、timeout 等。
- 缓存配置:可以通过 params 参数来实现简单的缓存,例如设置 params: { _: Date.now()
},每次请求时都带上时间戳,这样可以避免浏览器缓存的影响。 - 取消重复请求:可以使用 axios 自带的 cancelToken 和 source.cancel() 方法来取消重复请求。
- 合并请求:可以使用 axios 自带的 axios.all 或 axios.spread 方法来合并多个请求,提高效率。
- 错误处理:可以在响应拦截器中统一处理错误,例如判断返回的状态码、响应数据等,统一处理错误信息。
- 减少请求次数:可以在前端进行数据处理,避免不必要的请求,例如本地缓存、数据预加载等。
- 使用适当的数据格式:可以根据数据类型选择适当的请求方式和数据格式,例如使用 multipart/form-data 上传文件,使用
application/json 提交 JSON 数据。