我有助手操作,它们只是AJAX调用,用成功数据更新商店。
在我的组件中,我有一个使用这些操作的函数:
// Insert new event
ReactActions.submitNewEvent(data)
// Insert new exceptions
ReactActions.submitNewExceptions(exception_objects)
// Merge
ReactActions.merge(data, exception_objects)
我想在执行第三个操作之前完全执行前两个操作(意味着来自ajax方法的200个成功响应) 。
在类似Flux的架构中,最好的方法是什么?我应该选择承诺吗?你能举个例子吗?
答案 0 :(得分:1)
是的,承诺是解决此类问题的好方法。
Promise.all()
将帮助您将最后一个呼叫与前两个呼叫同步。确保submitNewEvent()
和submitNewExceptions()
都返回完成AJAX调用时解析的promise:
Promise.all([
ReactActions.submitNewEvent(data),
ReactActions.submitNewExceptions(exception_objects)
]).then(function() {
ReactActions.merge(data, exception_objects)
})