该函数非常简单,它发送一个创建新文件夹的 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 })
}