this page
. 如果你的观测结果只发出一个项目,你希望合并
项目
通过连接数组,可以使用
zip operator
如下:
zip(observable, this.observable)
.pipe(map(x => x[0].concat(x[1])))
.subscribe(data => console.log('merge', data))
更准确地说
zip(obsa, obsb)
创建一个监听obsa和obsb的新observate,并在从obsa接收到item a和itemb后发出该item
x=[itema, itemb]
. 以你为例
x[0]=itema
,
x[1]=itemb
数组和
(x => x[0].concat(x[1]))
连接这两个数组。请注意,如果obsa和obsb发出多个数组,压缩的obsa将始终等待obsa中的一个项和obsb中的一个项发出新的
[itema, itemb]
. 对于concat()方法,cf
this page
.
别忘了
import { zip } from 'rxjs'
和
import { map } from 'rxjs/operators'
.