【问题标题】:Subscribing to a nested observable inside another observable订阅另一个可观察对象内的嵌套可观察对象
【发布时间】:2020-10-18 21:28:41
【问题描述】:

我有一个行为主题,其中包含一些可观察的数据。 即

BehaviorSubject<Observable<data>>

如何直接订阅嵌套的 observable?

【问题讨论】:

  • myBehaviorSubject.value.subscribe(...)

标签: javascript rxjs nested observable behaviorsubject


【解决方案1】:

你应该把它传送到the flattening operators之一,比如mergeMap

yourSubject.pipe(mergeMap(v =&gt; v))

我的例子:

const t = timer(0, 500).pipe(take(5));
const s = new BehaviorSubject(t);
s.next(t);
s.pipe(mergeMap(v => v)).subscribe(console.log);
s.next(t);
s.next(t);

【讨论】:

  • 其实这个算子是有一些副作用的,不是有纯扁平化算子吗?
  • @arcrub 您有什么副作用?什么是 pure 展平运算符?最好提出另一个问题,参考此答案并解释您遇到的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-13
相关资源
最近更新 更多