先来说一说“中断请求”的实际场景,当页面有多个tab页签时,每次切换页签都会去请求数据,频繁的切换就会去请求很多次,比如A页签切换到B页签,A页签请求完全是不必要的,这时候可以在切换时中断请求。
AbortController实验室功能,已经在主流浏览器实现,IE浏览器可以不支持,需要导入polyfill。
AbortController接口表示一个控制器对象,允许你根据需要中止一个或多个 Web请求。官网参考:https://developer.mozilla.org...
1、axios
axios已经实现AbortController,具体实践如下:// fontend
import React, { useEffect } from 'react';
import axios from 'axios';
const AbortController = () => {
const CancelToken = axios.CancelToken;
const source = CancelToken.source();
useEffect(() => {
axios.post('http://127.0.0.1:8088/getData', {name: 'zs', pwd: '123456'}, {cancelToken: source.token})
.then(res => {
console.log(res);
})
}, []);