Javascript 什么';React中处理异步请求的最佳模式是什么?

Javascript 什么';React中处理异步请求的最佳模式是什么?,javascript,asynchronous,reactjs,Javascript,Asynchronous,Reactjs,React完全是纯状态,我的App组件的状态中有一个status变量,用于跟踪应用程序当前正在执行的操作。为了简化事情,假设有三种状态:等待输入,获取URL,以及错误 当用户提交URL时,状态变为获取URL,并触发$.get()请求从中获取数据。一旦请求成功或失败,应用程序状态将分别变为等待输入或错误 我的问题是,当用户在获取URL状态下提交另一个URL时,取消以前的URL请求并用新URL重新输入获取URL状态是合理的。在React中处理此问题最优雅的模式是什么?目前,我的解决方案是检查$.ge

React完全是纯状态,我的
App
组件的状态中有一个
status
变量,用于跟踪应用程序当前正在执行的操作。为了简化事情,假设有三种状态:
等待输入
获取URL
,以及
错误

当用户提交URL时,状态变为
获取URL
,并触发
$.get()
请求从中获取数据。一旦请求成功或失败,应用程序状态将分别变为
等待输入
错误


我的问题是,当用户在
获取URL
状态下提交另一个URL时,取消以前的URL请求并用新URL重新输入
获取URL
状态是合理的。在React中处理此问题最优雅的模式是什么?目前,我的解决方案是检查
$.get()
请求的
success()
fail()
回调,以确保在更新状态之前当前URL没有更改。但是,此解决方案无法扩展,因为我必须在我发出的每个异步请求的每个回调中包含检查。

如果您只想在所有回迁完成后进入“等待”状态,则需要以某种方式跟踪它们。这不是一个真正的问题


最简单的解决方案就是将打开的获取请求存储在数组中的某个位置,并在完成后将其删除。删除它们时,请检查列表是否为空,并相应地更新状态。

如果只想在所有回迁完成后进入“等待”状态,则需要以某种方式跟踪它们。这不是一个真正的问题

最简单的解决方案就是将打开的获取请求存储在数组中的某个位置,并在完成后将其删除。当您删除它们时,请检查列表是否为空,并相应地更新您的状态。

您应该查看。仅React不适合构建整个应用程序。具体来说,它不是为处理你正在谈论的事情而设计的。是一个非常流行的类似通量的实现,我发现使用它非常好。祝你好运。你应该调查一下。仅React不适合构建整个应用程序。具体来说,它不是为处理你正在谈论的事情而设计的。是一个非常流行的类似通量的实现,我发现使用它非常好。祝你好运