我对AbortController相当陌生,到目前为止我只在useEffect回调中使用过它。但是,我的retrieved中有一个屏幕,它允许用户单击一个按钮来打开一个对话框;在后台,单击该按钮会导致对api的axios调用,然后检索到的信息将显示在对话框中。
但是,如果用户单击按钮,然后快速导航,会发生什么情况呢?在这种情况下,不需要检索信息,而且一旦检索到信息,就不能显示信息。
有办法处理这事吗?我可以设置一个AbortController,然后如果用户离开屏幕导航,中止信号以便取消api调用吗?
发布于 2022-07-18 14:04:30
我不知道我是否正确地理解了您,但是您可以使用useEffect清理函数来取消axios请求。关于清理功能:https://dev.to/otamnitram/react-useeffect-cleanup-how-and-when-to-use-it-2hbm。
如果您想要阻止用户返回,直到axios取取完成-> https://reactnavigation.org/docs/preventing-going-back/
https://stackoverflow.com/questions/73021754
复制相似问题