如何在JS中取消网络请求?

时间:2018-02-22 18:27:13

标签: javascript reactjs fetch-api

The React documentation for componentWillUnmount()表示可以取消网络请求

  

在此方法中执行任何必要的清理,例如使计时器无效,取消网络请求,...

但是answers here说这是不可能的。

问题是,是否可以取消JS中的网络请求?

例如,如果我在setInterval中使用Fetch API启动componentDidMount请求,并且在某些情况下我想停止请求,请根据文档在componentWillUnmount中执行此操作。如何取消所有网络请求?我不是在谈论调用clearInterval,这会停止计时器。我想确保在给定条件下取消已启动的任何网络请求。

1 个答案:

答案 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