axios终止请求
使用场景
例1: PC端聊天界面有某个接口请求的比较慢, 发出去请求之后切换聊天对象时。
//老规矩,废话不多说 直接上代码
// 例如XXXXX的请求响应巨慢 秒级的
const getChatMessage = async() => {
try {
const res = await XXXXX(params)
......
}catch(error){
//......
}
}
// 切换之后需要终止掉上一个xxx的请求
const abortController = new AbortController()
const signal = abortController.signal
const getChatMessage = async() => {
try {
const res = await XXXXX(params, signal)
......
}catch(error){
//......
}
}
// api.js中
export const xxxx = (data, signal) => {
return request({
url: '.......',
method: 'post',
data,signal
})
}
// 然后在切换的函数中 调用 abortController.abort();
每次切换的时候都会终止掉上次正在进行中的请求。 既节省了性能又避免了返回数据的混乱。
打完收工, 写的不好欢迎指正,