我有一个跟随Flux数据模式的函数,我称之为
UserService.createNewUser(data);
一旦创建用户的这个函数执行完毕,我想运行另一个遵循相同数据模式的函数:
NextService.createNewMessage(data);
如何进行设置,以便只有在UserService完成运行后才会调用NextService
?
用户商店:
getUser: function() {
return User;
},
addChangeListener: function(callback) {
this.on(CHANGE_EVENT, callback);
},
removeChangeListener: function(callback) {
this.removeListener(CHANGE_EVENT, callback);
}
听完改变后,我打电话给:
if (UserStore.getUser()) {
// in here is where I run NextService.createNewMessage(data);
}
然而,在createNewUser完成之前调用UserStore
答案 0 :(得分:0)
如果您正在关注磁通模式,那么我假设这些服务具有addChangeListener函数?如果是这样,我建议在组件中添加一个更改侦听器,例如调用NextService:
class YourComponent extends React.Component{
constructor(props){
super(props);
this._handleStoreChange = this.handleStoreChange.bind(this);
}
handleStoreChange(data){
NextService.createNewMessage(data);
}
componentDidMount(){
UserService.addChangeListener(this._handleStoreChange);
}
componentWillUnmount(){
UserService.removeChangeListener(this._handleStoreChange);
}
render(){
return (
<h1>hello</h1>
);
}
}