【发布时间】:2020-07-25 11:40:02
【问题描述】:
我正在尝试取消我在 ComponentWillUnmount() 中的 CompnentDidMount() 中提出的 Axios 请求,正如每个人所说的那样。但是,它似乎不起作用。完全一样。
这是我项目中的相关代码:
//Make API call
this.setState({ isMounted: true });
this.axiosCancelSource = Axios.CancelToken.source();
var result;
result = await Axios("/api/product", { cancelToken: this.axiosCancelSource.token });
if (this.state.isMounted) {
this.setState({ products: result.data.products });
}
//this.updateList();
}
componentWillUnmount() {
this.setState({ isMounted: false });
this.axiosCancelSource.cancel();
}
这是我在 Chrome DevTools 中的网络选项卡的快照: Network Screenshot
我不确定这是否是问题所在,但似乎我的组件安装和卸载一次非常快,然后再次安装。我也不太确定这是什么原因,或者它是否会影响我的 axios 请求的取消。我已经在互联网上搜索了几个小时试图解决这个问题,所以任何帮助表示赞赏。谢谢!
【问题讨论】:
标签: reactjs axios cancellation