AngularNgRx-DispatchanActionNTimesandThenDispatchSuccessActionWhenAllCompleted
创始人
2024-10-28 17:01:17
0

在Angular NgRx中,我们可以使用forkJoin运算符来发出N次操作并在全部完成时发出成功操作。 以下是一个示例代码,使用forkJoin操作符来解决此问题:

import { Actions, ofType, Effect } from '@ngrx/effects';
import { Injectable } from '@angular/core';
import { Observable, of, forkJoin } from 'rxjs';
import { map, switchMap } from 'rxjs/operators';
import { Action1, Action2, Action3, AllActionsCompleted } from './actions';

@Injectable()
export class MyEffects {

  @Effect()
  dispatchActions$: Observable = this.actions$.pipe(
    ofType('DISPATCH_ACTIONS'),
    switchMap((action) => {
      const obsArray: Observable[] = [];
      action.payload.forEach((item) => {
        obsArray.push(of(item)); // Mock observables for each item in payload
      });
      return forkJoin(obsArray).pipe(
        map(() => new AllActionsCompleted())
      );
    })
  );

  constructor(private actions$: Actions) {}
}

在此示例中,我们使用了effects来监听DISPATCH_ACTIONS动作。然后,我们使用forkJoin操作符并将其应用于一个Observable数组来并发执行每个操作。当所有操作都完成时,我们创建并发出一个AllActionsCompleted动作。

相关内容

热门资讯

玩家必知教程“决战辅助软件”本... 玩家必知教程“决战辅助软件”本然有辅助脚本(真是有挂);亲,决战辅助软件这款游戏原来确实可以开挂的,...
记者揭秘“温州茶苑破解版”一向... 记者揭秘“温州茶苑破解版”一向有辅助工具(有挂教学);无需打开直接搜索加薇136704302(咨询了...
最新通报“浙江宝宝游戏辅助器”... >>您好:浙江宝宝游戏辅助器确实是有挂的,很多玩家在这款浙江宝宝游戏辅助器游戏中打牌都会发现很多用户...
玩家必看教程“心悦填大坑辅助器... 玩家必看教程“心悦填大坑辅助器”原生有辅助神器(有挂方法);无需打开直接搜索加(薇:13670430...
查到实测“新西部透视挂辅助器”... 您好:新西部透视挂辅助器这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的...
辅助透视“wepoker私人局... 辅助透视“wepoker私人局可以透视”固有有辅助开挂挂(有挂技巧);无需打开直接搜索打开薇:136...
透视透视“丫丫打锅子辅助”从来... 透视透视“丫丫打锅子辅助”从来有辅助开挂安装(详细教程);无需打开直接搜索加薇136704302(咨...
玩家必备科普“科乐填大坑辅助视... 玩家必备科普“科乐填大坑辅助视频”起初有开挂辅助挂(有挂方针);无需打开直接搜索加(薇:136704...
最新技巧“新海贝之城万能辅助器... 最新技巧“新海贝之城万能辅助器”从前有辅助开挂器(有挂秘笈);打开点击测试直接进入微信(136704...
透视有挂“拱趴大菠萝挂哪里”起... 大家好,今天小编来为大家解答拱趴大菠萝挂哪里这个问题咨询软件客服可以免费测试直接加微信(136704...