我有一个用户输入的组件。当他们保存时,我使用操作来更新商店的状态
为了响应这些新信息,结果组件需要运行异步操作,然后在新信息返回时做出响应。
无论我尝试什么,我似乎都留下了一个hack setTimeout
或一个dispatch-within-dispatch错误。
异步操作是通过数据源定义的,并且按照概述here拥有自己的存储。构造这种行为的正确方法是什么?
setTimeout
的黑客解决方案。感觉不对。我错过了什么?
答案 0 :(得分:0)
忽略有关DataSources的示例。不要在商店中使用registerAsync
。
相反,使用操作来执行异步行为并使结果更新存储。在您给出的示例中,请从输入组件执行此操作:
Action1.updateStore()
AsyncAction2.run()
然后,使用商店观看AsyncAction2
操作来更新并通知结果组件。
答案 1 :(得分:0)
如果您确定要在此时进行调度,并且只是想避免在调度中发送"发送"您可以使用alt' s .defer方法出错(请参阅:http://alt.js.org/docs/actions/)。