0

嗨,下面是我的组件代码,其中 save 函数有 validateData() 调用了 api 并且在调用 store.select 之后没有得到第一次点击的响应,它在第二次点击和 navigatetonext() 函数中获取更新响应因此第一次它采用空对象并且第二次命中它会得到响应,如果在 store.select 它被多次调用时写入 nagigatetonext 函数。

    save(){
    this.cpCommonService.clearErrorDivs();
 // this.spinner.show();
    if(this.router.url === '/test/details'){
       this.ethnicityData();
    }else if(this.router.url === '/test/details/member_name'){
      this.navigationPath.componentName = "member_name";
      this.validateData();
    }else{
      // this.navigationPath.componentName = "member_ssn";
      this.ssnData();
    }


    this.store.select('data').subscribe(data => {
      this.currentPageData = data;
      this.isNextClicked = false;

    });
     this.nextPage(this.currentPageData);
    this.store.dispatch(new TestActions.UpdateMembersForm(this.currentPageData['membersForm']['value']));
  }

    GetPostData$ = this.actions$.pipe(
         ofType<TestActions.PostData>(TestActions.POST_DATA),
         mergeMap(action =>
        this.byhService.navigationDetails(action.payload).pipe(map(resp => {
            console.log(resp);
            return new TestActions.PostDataSuccess(resp);
        }, catchError((error) => of(new TestActions.PostDataError(error))))
        )

    )
)
4

1 回答 1

0

GetPostData$未使用 @Effect 或 createEffect 标记为效果。

操作不会调度。

于 2020-02-28T15:41:52.997 回答