Rxjs 从观察者复制到观察者

Rxjs 从观察者复制到观察者,rxjs,Rxjs,我想将可观察的的内容复制到观察者中 是否有一种简洁的方法可以实现这一点,而无需求助于subscribe()并手动将事件从可观察的发送到观察者?i、 e var observer = new Subject(); var observable = new Subject(); observable.subscribe(i => observer.next(i), e => observer.error(e), () => observer.complet

我想将
可观察的
的内容复制到
观察者

是否有一种简洁的方法可以实现这一点,而无需求助于
subscribe()
并手动将事件从
可观察的
发送到
观察者
?i、 e

    var observer = new Subject();
    var observable = new Subject();

    observable.subscribe(i => observer.next(i), e => observer.error(e), () => observer.complete())

注意:上面的代码示例是用TypeScript编写的。

我看不出这样做有什么意义。您是否计划将多个观察者合并为一个?有一个用于该的运算符:

如果无法使用“合并”,则最短的方法是使用:

编辑

假设您的初始化代码如下所示:

function initStream() {
  var subject = new Subject();
  loadConfigurationCallback(config => {
    const observable = createStreamBasedOnConfig(config);
    observable.subscribe(subject);
  });
  return subject;
}
在这种情况下,如果使
loadConfiguration
本身返回一个可观察的值,则可以进一步简化:

function initStream() {
  return loadConfigurationObservable().flatMap(createStreamBasedOnConfig);
}

我有一个方法,我需要立即返回一个可观察的,但我不能开始填充它,直到其他异步操作发生(加载配置等)。@jwa我明白了,所以你遇到了rx的困难部分。另一个解决方案是最初创建异步操作结果的可观察对象,并从中平面映射新的结果可观察对象。如果我正确理解您的建议,这意味着我也会在最终可观察对象中获得异步操作的结果?因此,我必须添加一个过滤器,因为我不希望这些过滤器出现在我的最终可观察流中?在答案中添加了一个示例,也许这会让我的意思更清楚。
function initStream() {
  return loadConfigurationObservable().flatMap(createStreamBasedOnConfig);
}