例如,我将实施一个" Like post"特征。在帖子被喜欢之后,我需要获得最新的计数(另一个动作)。
从下面的代码中,我应该立即调用get(postId)来触发另一个操作,还是应该在处理" LIKE_POST_SUCCESS"时存储触发器。商店可以触发行动吗?
class PostActions {
like(postId) {
var self = this;
PostApiUtils.like(postId).then(function() {
AppDispatcher.dispatch({
actionType: 'LIKE_POST_SUCCESS',
postId: postId
});
self.get(postId);
});
}
get(postId) {
PostApiUtils.get(postId).then(function(post) {
AppDispatcher.dispatch({
actionType: 'GET_POST_SUCCESS',
post: post
});
});
}
}
答案 0 :(得分:1)
商店不应该触发操作,而操作可能会触发其他操作。所以你的代码看起来很好。在您处理LIKE_POST_SUCCESS
的商店中,您可以在发出更改之前waitFor
GET_POST_SUCCESS
。