我有一個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