[英]Calling a function only when another function finishes running in React
我有一个遵循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
如果您遵循通量模式,那么我假设这些服务具有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>
);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.