The React documentation for componentWillUnmount()
表示可以取消网络请求:
在此方法中执行任何必要的清理,例如使计时器无效,取消网络请求,...
但是answers here说这是不可能的。
问题是,是否可以取消JS中的网络请求?
例如,如果我在setInterval
中使用Fetch API启动componentDidMount
请求,并且在某些情况下我想停止请求,请根据文档在componentWillUnmount
中执行此操作。如何取消所有网络请求?我不是在谈论调用clearInterval
,这会停止计时器。我想确保在给定条件下取消已启动的任何网络请求。
答案 0 :(得分:1)
这似乎只是一个实验性的API。 因此,有可能,但并非所有浏览器都没有。
https://developer.mozilla.org/en-US/docs/Web/API/AbortController/abort
修改
对于普通的AJAX请求,它绝对是可能的: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/abort