当组件如下卸载时,我正在取消 axios 请求
const CancelToken = axios.CancelToken
const source = CancelToken.source()
componentWillUnmount () {
source.cancel('message')
}
当组件被卸载时,后台发生的网络请求被标记为“停滞”。问题是当用户再次访问该组件时,应该在 componentDidMount 中发生的网络请求不会启动。
最佳答案
axios#cancellation描述了两种使用 cancelToken 的方法。您使用了第一种方式,使用 source.token/source.cancel。我就是这样开始的,并且遇到了与您类似的问题:一旦取消了对特定 URL 的请求,我就再也无法从该 URL 获得成功的响应。我使用执行程序函数切换到第二种方法,问题就消失了。我猜是为多个请求共享相同的 cancelToken,这就是他们所说的您可以使用执行程序函数方法执行的操作。不管怎样,也许这对你也有用。
关于javascript - axios 取消的请求无法重新启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53475045/