angular6和NGRX:保存操作后立即调度负载操作

angular6和NGRX:保存操作后立即调度负载操作,angular,rxjs,crud,ngrx,ngrx-store,Angular,Rxjs,Crud,Ngrx,Ngrx Store,我正在保存一个POJO,然后通过RESTAPI从数据库中提取POJO数组 我使用ngrx作为redux模式 this.store.dispatch(new fromStore.SaveMessage(this.messageHeader)); this.store.dispatch(new fromStore.LoadMessages({ queue: "Queue" }); 但是,第二个操作不是拉取最近保存的消息 当我尝试下面的方法时,它起了作用 this.store.dis

我正在保存一个POJO,然后通过RESTAPI从数据库中提取POJO数组 我使用ngrx作为redux模式

   this.store.dispatch(new fromStore.SaveMessage(this.messageHeader));
   this.store.dispatch(new fromStore.LoadMessages({ queue: "Queue" });
但是,第二个操作不是拉取最近保存的消息

当我尝试下面的方法时,它起了作用

  this.store.dispatch(new fromStore.SaveMessage(this.messageHeader));
    setTimeout(() => {
  this.store.dispatch(new fromStore.LoadMessages({ queue: "Queue" }));
  }, 2000)
然而,我觉得这不是最优化的方法

我还试图订阅第一个分派操作,但它给出了一个错误

 '[ts] Property 'subscribe' does not exist on type 'void'.'

我如何发送第二个动作调度器来提取最近保存的记录?

您看过ngrx/效果了吗?通常,您希望SaveMessage以成功操作响应,然后连接一个效果以执行重新加载,或者在组件中设置一个状态,以便在成功处理后执行重新加载。如果您希望每次都加载,则最好使用第一种解决方案。我们是根据需要(单击按钮)重新加载,而不是出于某种目的而在save的成功回调中重新加载。因此问题就出现了。您是否可以让加载操作监视存储中的“保存”标志,并延迟处理,直到保存操作完成?e、 例如,如果保存,则订阅保存标志上的选择器,并在其为false时运行该操作。这是一种很好的方法。让我试试这个。