Axios功能增强
兼容微信小程序
快速开始
pnpm i axios @rx/axios-adapter
npm i axios @rx/axios-adapter
yarn add axios @rx/axios-adapter
浏览器端
import axios from 'axios'
import { webAdapter } from '@rx/axios-adapter'
const inst = axios.create({
...
adapter: webAdapter
})
多个请求自动取消
主要是针对新增相关的请求,防止后端在网络堵塞时接受到多条同样的请求
request({
url: '/api/test',
// 设置single后,针对/api/test的多次请求,在第一次拿到响应前过都会被取消
// 简单的说,多次请求pending的情况下,只有第一条会被保留
single: true
})
注意
一个请求在响应前多次发送的判断依据是处理前
的url
request({
url: '/api/test',
params: { a: 1 },
})
request({
url: '/api/test?a=1',
})
这两种情况请求的地址会被独立处理
uniapp-微信小程序端
import axios from 'axios'
import { wxAdapter } from '@rx/axios-adapter'
const inst = axios.create({
...
adapter: wxAdapter
})
注意
由于小程序实现的问题,请求取消的api时灵时不灵,所以为了稳定性,这个库在小程序端不实现这个功能。