如何取消axios请求以防止用户在反应中发送多个请求

时间:2021-04-27 06:43:19

标签: reactjs axios

该函数非常简单,它发送一个创建新文件夹的 axios 请求。问题在于,当出现延迟时,用户可能会发送多个请求,因为前一个请求无法取消。 例如:用户创建一个文件夹并按回车键,然后由于延迟而再次按回车键。由于用户发送了多个请求,现在会有多个文件夹。

我试过这段代码,但它不起作用:

const CancelToken = axios.CancelToken;
let source = CancelToken.source();
source && source.cancel('Operation canceled due to new request.');
source = axios.CancelToken.source();

function submitFolder(){
    const response = await axios.post('/api/userFolder', 
       {folderTitle: folderTitle, username: username}, 
       {cancelToken: source.token })

}

0 个答案:

没有答案