Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度NgRx-当其他操作返回值时,从生效状态分派操作_Javascript_Angular_Typescript_Redux_Ngrx - Fatal编程技术网

Javascript 角度NgRx-当其他操作返回值时,从生效状态分派操作

Javascript 角度NgRx-当其他操作返回值时,从生效状态分派操作,javascript,angular,typescript,redux,ngrx,Javascript,Angular,Typescript,Redux,Ngrx,我在调度需要其他五个操作(在我的效果中列出)结果的操作时遇到问题 有人能帮我吗?总而言之,我需要在这五个操作返回一个值后,在内部有效地分派一个操作 下面是我想调用的代码getProject(): getProjectRefData$ = createEffect(() => this.actions$.pipe( ofType(GetProjectRefData), mergeMap(() => of( Ge

我在调度需要其他五个操作(在我的效果中列出)结果的操作时遇到问题

有人能帮我吗?总而言之,我需要在这五个操作返回一个值后,在内部有效地分派一个操作

下面是我想调用的代码getProject()

    getProjectRefData$ = createEffect(() =>
    this.actions$.pipe(
      ofType(GetProjectRefData),
      mergeMap(() =>
        of(
          GetProjectSubTypes(),
          GetAccountCategories(),
          GetProductions(),
          GetCompetitions(),
          GetCompetitionEditions()
        )
      )
    )
  );
下面是这五个动作(或者说,它们所触发的效果)的蓝图示例:


转到
forkJoin

   getProjectRefData$ = createEffect(() =>
    this.actions$.pipe(
      ofType(GetProjectRefData),
      switchMap(action =>
        forkJoin(
          GetProjectSubTypes(),
          GetAccountCategories(),
          GetProductions(),
          GetCompetitions(),
          GetCompetitionEditions()
        )
      ),
      map(([projectSubtypes, accountCategories, productions, competitions, competitionEndings]) => this.someService.get('pass args here'),
      map(callResult => SomeAction(callResult))
    )
  );


forkJoin
将在所有内部观察完成后以数组形式发出组合值。

转到
forkJoin

   getProjectRefData$ = createEffect(() =>
    this.actions$.pipe(
      ofType(GetProjectRefData),
      switchMap(action =>
        forkJoin(
          GetProjectSubTypes(),
          GetAccountCategories(),
          GetProductions(),
          GetCompetitions(),
          GetCompetitionEditions()
        )
      ),
      map(([projectSubtypes, accountCategories, productions, competitions, competitionEndings]) => this.someService.get('pass args here'),
      map(callResult => SomeAction(callResult))
    )
  );


forkJoin
在所有内部观测完成后,将以数组的形式发出一个组合值。

您要调用的getProject在哪里?您要调用的getProject在哪里?谢谢您的回答。我觉得我们很接近了-但我仍然不确定在完成这五个操作后在何处/如何调用getProjects()?我已经修改了答案以符合您的要求感谢答案。我觉得我们很接近了——但我仍然不确定在完成这五个操作后在哪里/如何调用getProjects()?我已经修改了答案以满足您的要求