Flux架构——如何在控制器中知道来自action的异步事件何时完成
Flux architecture - how to know in controller when async event from action is completed
我正在学习flux
架构。我正在尝试添加新用户。当用户单击UI上的save
按钮时,在我的控制器中,我调用动作创建者的createUser
函数来启动异步请求:
addNewUser: function () {
HdfsUsersActions.createUser($scope.newUser);
}
动作创建器功能:
createUser: function (user) {
return restService.createHdfsUser(user).then(function (data) {
flux.dispatch('platform-manager-ADD_USER', data);
});
}
然后我需要知道异步请求何时结束,其状态隐藏用户在html中添加UI表单。正确的方法是什么?
我可以这样做:
HdfsUsersActions.createUser($scope.newUser).then(function() {
//hide user add form on UI
});
但这似乎不是正确的方法,因为在flux
架构下,控制器获取数据的唯一方法是从store
。在这里,使用then
似乎打破了这一规则,因为数据来自action creator
当您收到异步调用的应答时,您将调度事件platform-manager-ADD_USER
:
flux.dispatch('platform-manager-ADD_USER', data);
然后,您应该在存储中侦听此事件,并使用接收到的data
更新自身。然后,所有侦听此更改的组件将接收更新并在需要时呈现自己。
相关文章:
- esri javascript异步打印
- JavaScript异步问题
- $translateProvider.useStaticFilesLoader的Angular Translate异步定
- 异步facebook功能
- 异步并行错误
- 在Redux中,我应该在哪里编写复杂的异步流
- 角度异步http自动完成
- 如何从SeleniumWebdriver获取异步Javascript响应
- 如何使用异步调用更改工厂的变量
- 在等待异步任务时永久循环
- 如何在异步函数中使用javascript对象
- 调用后不异步Ajax忽略函数
- learnyounode#9杂耍异步
- 异步获取数据使用JavaScript同步获取数据
- Meteor:异步回调问题
- 如何以异步方式打印q中的项目
- javascript函数中的异步与同步.(Node.js)
- 表单's的action属性-如何在javascript中指定完整的应用程序路径
- Fresh Spark Install+Homestead上的Vue异步堆栈跟踪错误
- Flux架构——如何在控制器中知道来自action的异步事件何时完成