Rxjs &引用;“展平”;内部观测值

Rxjs &引用;“展平”;内部观测值,rxjs,reactive-programming,Rxjs,Reactive Programming,如何展平这一系列可观测数据 var observables = [ Rx.Observable.of(1), Rx.Observable.of(2), Rx.Observable.of(3) ] Rx.Observable.of("a").mergeMap(x => { return Rx.Observable.from(observables) }).subscribe(y => { console.log(y) }) 我的预期行动是: 1 2 3 但是

如何展平这一系列可观测数据

var observables = [
  Rx.Observable.of(1),
  Rx.Observable.of(2),
  Rx.Observable.of(3)
]

Rx.Observable.of("a").mergeMap(x => {
  return Rx.Observable.from(observables)
}).subscribe(y => {
  console.log(y)
}) 
我的预期行动是:

1
2
3
但是相反,我得到了

ScalarObservable { _isScalar: true, value: 1, scheduler: null }
ScalarObservable { _isScalar: true, value: 2, scheduler: null }
ScalarObservable { _isScalar: true, value: 3, scheduler: null }
我搜索了这个网站,发现了这个:…,但是看起来太复杂了(?)不知道它是什么。或者可能这不是我想要的

有什么想法吗?建议

谢谢

您可以将它们放在一起:

Rx.Observable.merge(...observables)
const obs$=[
(1)中的可观测Rx,
(2)中的可观测Rx,
(3)中的可观测Rx,
];
Rx.Observable.merge(…obs$).subscribe(console.log)
您可以将它们放在一起:

Rx.Observable.merge(...observables)
const obs$=[
(1)中的可观测Rx,
(2)中的可观测Rx,
(3)中的可观测Rx,
];
Rx.Observable.merge(…obs$).subscribe(console.log)

这是代码,包含您的建议(合并),我把它放在一个concatMap中。。。因为这正是我要处理的情况,我的需要是在该块中生成一个可观察的数组,并将它们合并到外部可观察的数组中:

observables = [
  Rx.Observable.of(1),
  Rx.Observable.of(2),
  Rx.Observable.of(3)
]

Rx.Observable.of("a").concatMap(x => {
  return Rx.Observable.merge(observables)
}).subscribe(y => console.log(y))

这是代码,包含你的建议(合并),我把它放在一个concatMap中。。。因为这正是我要处理的情况,我的需要是在该块中生成一个可观察的数组,并将它们合并到外部可观察的数组中:

observables = [
  Rx.Observable.of(1),
  Rx.Observable.of(2),
  Rx.Observable.of(3)
]

Rx.Observable.of("a").concatMap(x => {
  return Rx.Observable.merge(observables)
}).subscribe(y => console.log(y))

嗨,我试过你的建议,但得到了同样的结果。这里的关键区别是,我必须将Rx.Observable.merge放在另一个Observable中。@CokordaRaka正如我的工作示例所示,这段代码工作得非常好。如果您的情况与您描述的不同,请编辑问题以反映您的实际情况,然后我可以编辑我的答案accordingly@CokordaRaka你没有正确使用我的答案。请注意
可观测值之前的扩展运算符。嗨,我尝试了你的建议,但得到了相同的结果。这里的关键区别是,我必须将Rx.Observable.merge放在另一个Observable中。@CokordaRaka正如我的工作示例所示,这段代码工作得非常好。如果您的情况与您描述的不同,请编辑问题以反映您的实际情况,然后我可以编辑我的答案accordingly@CokordaRaka你没有正确使用我的答案。注意
观测值之前的
扩展运算符。