Sha*_*med 4 javascript reactjs axios
当组件卸载时,我正在取消axios请求,如下所示
const CancelToken = axios.CancelToken
const source = CancelToken.source()
componentWillUnmount () {
source.cancel('message')
}
Run Code Online (Sandbox Code Playgroud)
卸载组件后,在后台发生的网络请求被标记为“已停止”。问题是当用户再次转到该组件时,应该在componentDidMount中发生的网络请求无法启动。
小智 7
axios#cancellation描述了使用cancelToken的两种方法。您使用了第一种方法,即source.token / source.cancel。我以这种方式开始,并遇到了与您类似的问题:取消对特定URL的请求后,再也无法从该URL获得成功的响应。我使用执行程序函数切换到第二种方法,问题消失了。我猜想是为多个请求共享相同的cancelToken,这就是他们说可以使用executor函数方法执行的操作。无论如何,也许这也对您有用。
| 归档时间: |
|
| 查看次数: |
694 次 |
| 最近记录: |