我有一个Calendar
组件,当使用某个称为LoadOnMount
的道具呈现时,需要呼叫服务器加载一组航班。处理多个异步通话与flux
的问题是,我通过聆听CalendarStore
的Events.UPDATE
事件,这是由我的调度员派遣UPDATE_CALENDAR
动作触发更新日历,和我加载使用一套名为LOAD_FLIGHT_LIST
另一个动作的航班。所以当我从Calendar
组件的ComponentDidMount
函数调用这个新动作时,我得到了cannot dispatch in the middle of a dispatch
错误。
任何方式来处理这些类型的依赖? (日历也从服务器获得的)
您是否在等待2个或更多异步调用您的组件中的商店?如果我理解正确,看起来你正在尝试两次安装组件。这不起作用。如果这是我使用'''componentWillRecieveProps'''或'''shouldComponentUpdate'''建议的问题。在这里你要确保你从两个异步调用中获得信息。 (因为你对两个呼叫都使用相同的事件)。纠正我,如果我误解你的问题。 – magnudae 2015-03-02 13:53:15
对不起,我可能对我的问题措辞不好:我只安装一次组件,但它需要两次调用服务器才能获取其数据,如果某些条件为真,但按照特定顺序。 也许这个问题更好地解释它:https://github.com/facebook/flux/issues/168 – nicohvi 2015-03-03 07:53:01
您的异步调用是在同一时间调度还是可以连续执行? – magnudae 2015-03-03 09:57:29