Rxjs:将两个流与一个依赖于另一个的流合并

丹尼尔·卡尔德拉

我有一个流调用服务,该服务返回一个流,该流需要该请求的原始流的信息。

this.messages$ = this.selectedChat$
.switchMap(chat => this.chatService.subscribeMessages(chat.room))
.map(messages) =>
  messages.map((message: any) => {
    //Here need add information of the chat object
    return message;
  })
);

我看到的所有可以合并流并在以后将其分离的运算符(例如CombineLatest)都接收参数,因此,我无法使用原始流信息来调用生成另一个流的服务,并且我不希望使用订阅在原始流上,并在订阅中返回新流,因为这有点混乱。

有什么建议吗?

乔塔·托莱多

使用selector function中的switchMap操作:

this.messages$ = this.selectedChat$
.switchMap(chat => this.chatService.subscribeMessages(chat.room), 
(chat,messages)=>({chat,messages})) // create a new object, using the inner observable and the mapped one
.map(data =>
  data.messages.map((message: any) => {
    // Here data.chat has the chat information
    return message;
  })
);

有关switchMap操作员的更多信息,在此处检查

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

两个异步任务-一个依赖于python中的另一个

RxJS:如何将两个流合并为一个,以一个流的速率触发事件,但使用另一个流的最新值?

Python脚本依赖于另一个.exe。是否可以将两者合并为一个.exe?

如何让两个垂直元素之一的高度依赖于另一个?

将两个流合并为一个

将程序与两个静态库链接在一起,每个静态库都包含依赖于另一个函数的函数?

RXJS-将两个流结果合并到一个排序的数组中

如何在RxJS中创建依赖于另一个Observable的Observable

在带有 gradle 的 NDK 上编译两个项目,其中一个依赖于另一个的二进制文件

Android NDK:两个预构建的共享库,但是其中一个依赖于另一个

在两个文本框中使用 SelectionChanged 事件,一个依赖于另一个

一个CSS类依赖于另一个

PHPUnit测试一个依赖于另一个方法的方法

如何使一个Maven模块依赖于另一个?

测试一个对象是否依赖于另一个对象

创建一个依赖于另一个Pod的Pod

Django:一个modelChoiceField 依赖于另一个modelChoiceField

一个按钮依赖于另一个被单击

在cmake中,如何使一个目标依赖于另一个目标?

合并两个rxjs流,仅在第一个为true时发出

如何测试依赖于另一个服务(又依赖于Http服务)的服务/组件?

如何将Akka流合并的输出传递到另一个流?

如何在依赖于另一个未合并功能分支的功能分支上工作?

当一个依赖于另一个的内容时渲染2个元素

构造对象,其属性之一依赖于另一个。在C ++中

同时迭代两个列表,并创建另一个使用流

SBT-如何使InputTask依赖于一个任务而最终依赖于另一个任务

将两个流合并为一个磁通

将这两个Java流合并为一个