angular - Ngrx,Rxjs - 合并可观察的流返回一个新的流
问题描述
我正在尝试加入两个可观察的流来创建一个我也可以订阅的新流。两个输入流都返回对象数组。我尝试使用 forkJoin 运算符,后跟一个管道图并像这样订阅:
forkJoin(
this.firstObservable$,
this.secondObservable$
).pipe(
map(([first, second]) => {
// here create a new array array = [] and push new Object { first.something, second.something
// return newArray
}
})
).subscribe((data: any) => {
this.data = data;
});
但这似乎没有按预期工作。我也用水龙头试过这个。什么是正确的方法?
解决方案
ForkJoin 本身返回一个 observable,你可以订阅它
forkJoin([
this.firstObservable$,
this.secondObservable$
]).subscribe(res => {
//res[0] is the result emitted for the first observable
});
你不需要使用map
来尝试合并它们
推荐阅读
- java - 在类/方法之间交换值
- sdk - Add attachment to a document which is in adding mode in SAP SDK
- python - Appending values from a text file to an array in python
- sql - 自联接具有下一行的表
- java - 使用Spring在Java中传递API时如何根据条件设置哪个字段是强制性的?
- python - 有没有办法让 A 中的 * 线更靠近中间?
- mysql - 从函数或查询中自动设置列的值
- rabbitmq - 相关ID和交付标签有什么区别
- node.js - Quickdb add 不是 Quick.db 的函数错误
- java - 如何以编程方式在 Android Studio 中以编程方式更改 NavigationView 的图标颜色