方案一、axios cancelToken
import client, { getApiUrlWithParams } from '@/utils/request';
import axios, { CancelTokenSource } from 'axios';
let cancelToken: CancelTokenSource;
const API_BASE_URL = '/api/xxxxxxx/xxxxxx';
export const getQueryApi = (query: string) => {
if (cancelToken) {
cancelToken.cancel('取消重复请求');
}
cancelToken = axios.CancelToken.source();
const options = { cancelToken: cancelToken.token };
const requestUrl = getApiUrlWithParams(`${API_BASE_URL}/search/`, {
query,
});
return client.get(requestUrl, {}, options);
};
方案二、变量作用域
let query = ''
let queryList = []
getQueryData(value){
query = value
getQueryApi(value).then(res =>{
if(query ==value){
queryList = res.data
}
})
}