代码之家  ›  专栏  ›  技术社区  ›  Shamoon

当ngrx行动/效果在Angular5中完成时,如何通知我?

  •  1
  • Shamoon  · 技术社区  · 6 年前

    在我的组件中

    this.uploadService.onUpload({
      some: data
    })
    

    在我的 uploadService ,我有

      onUpload($event: SubmissionFileUpload) {
        this.userDetails$ = this.homeService.getUserDetails();
        this.userDetails$.subscribe(
          res => {
            this.userDetails = res;
          });
        this.store.dispatch(new UploadActions.UploadPresignAction(this.userDetails.jwt, $event));
      }
    

    当调度的操作完成时,如何通知我的组件?

    1 回复  |  直到 6 年前
        1
  •  3
  •   shakeel    6 年前

    我们就是这样设计我们的应用程序的。

    启动操作A->减速器或效果X听那个动作。 X完成工作后,执行所需的操作或启动另一个操作B(成功案例)或操作C(失败案例),由减速器或效果Y监听。

    因此,在您的情况下,Reducer或Effect X/Y会更改组件正在侦听的存储中的状态。

    换言之,组件只知道从商店读取数据,智能组件也会启动一个操作,但不关心操作是否顺利。