AngularngRxDispatchSecondActionwithdatafromFirstAction的中文描述
创始人
2024-10-28 18:00:31
0

Angular 中的 ngRx 库提供了一种处理应用程序状态的强大机制。当我们需要在第一个 Action 执行完毕后,将其产生的数据传递给第二个 Action 时,可以通过使用 RxJS 操作符来实现。下面是一个示例代码,展示了如何使用 combineLatest 操作符来完成这个任务:

import { Actions, ofType } from '@ngrx/effects';
import { Injectable } from '@angular/core';
import { Action } from '@ngrx/store';
import { Observable, combineLatest } from 'rxjs';
import { map, switchMap } from 'rxjs/operators';

@Injectable()
export class MyEffects {
  constructor(private actions$: Actions) {}

  // 第一个 Action
  firstAction$: Observable = this.actions$.pipe(
    ofType('FIRST_ACTION_TYPE'),
    map((action: any) => action.payload)
  );

  // 第二个 Action
  secondAction$: Observable = combineLatest(
    this.actions$.pipe(ofType('FIRST_ACTION_TYPE')),
    this.someOtherService.getData() // 获取第一步数据,并传递给第二个Action
  ).pipe(
    switchMap(([action, data]) => {
       // 在这里操作第二个 Action
    })
  );
}

在上面的代码中,通过使用 combineLatest 操作符,我们在第一个 Action 完成后,调用了第二个 Action,并将第一个 Action 产生的数据传递给后者。由于 combineLatest 操作符会将所有流中最后发出的值作为参数传递给其回调函数,因此我们可以在它的回调函数中访问这个数据,并在其中操作第二个 Action。

相关内容

热门资讯

实测揭晓!德普之星私人局透视,... 实测揭晓!德普之星私人局透视,xpoker辅助,解密教程(有挂透明);科技安装教程;13670430...
推荐几款新版!pokemmo手... 推荐几款新版!pokemmo手机版透视脚本,wpk辅助器,介绍教程(有挂软件);《WPK辅助透视》‌...
玩家亲测!poker mast... 玩家亲测!poker master辅助,拱趴大菠萝辅助神器,教你攻略(有挂技巧)关于拱趴大菠萝辅助神...
一分钟了解!hhpoker软件... 一分钟了解!hhpoker软件安装包,hhpoker辅助挂下载,玩家教你(有挂软件);科技安装教程;...
科技新动态!wepoker私人... 科技新动态!wepoker私人辅助器,哈糖大菠萝有挂吗,系统教程(有挂技巧);1.哈糖大菠萝有挂吗 ...
揭秘几款!aapoker俱乐部... 揭秘几款!aapoker俱乐部靠谱吗,拱趴大菠萝开挂方法,解说技巧(有挂攻略)是一款可以让一直输的玩...
今日公布!werplan怎么作... 今日公布!werplan怎么作弊,pokermaster脚本,揭秘教程(有挂技巧)是一款可以让一直输...
一分钟教会你!约局吧辅助器,w... 1、一分钟教会你!约局吧辅助器,wepoker私局代打,透视教程(有挂软件)(UU poker、we...
科技介绍!wepoker透视底... 科技介绍!wepoker透视底牌脚本,hhpoker透视脚本,扑克教程(有挂技巧);支持2-10人实...
科普常识!德普之星透视辅助,w... 科普常识!德普之星透视辅助,wepoker代打辅助机器人,第三方教程(有挂软件)准备好在wepoke...