【发布时间】:2020-01-26 20:41:16
【问题描述】:
我想将 2 个或多个 observable 动态组合成一个组合 observable。
我了解如何将两个已经存在的 observable 与 merge 结合起来,但是当需要动态添加额外的 observable 时(例如超时后),我该如何解决“合并”问题?
此外,combinedStream$ 上的现有订阅在“即时”合并另一个 observable 时不应丢失。
这是我目前所拥有的:
const action1$ = interval(1000).pipe(map(data => 'Action1 value:' + data));
const action2$ = interval(1000).pipe(map(data => 'Action2 value:' + data));
const combinedStream$ = merge(action1$, action2$);
combinedStream$.subscribe(data => console.log('Combined Stream Output:', data));
// Add another observable after some time...
setTimeout(() => {
const action3$ = interval(1000).pipe(map(data => 'Action3 value:' + data));
// How add this action3$ to the combined stream ?
}, 1000);
这是我的堆栈闪电战:https://stackblitz.com/edit/rxjs-s2cyzj
【问题讨论】:
标签: rxjs