如何将发射数组的可观测值转换为单独发射数组每个值的可观测结果



我使用的是RXFire和RXJS。

collectionData(firebase.firestore.collection('collectionname')).subscribe(x=>console.log(x)

返回

// [{document1}, {document2}]

我想要的是一个返回的可见光

// {document1}
// {document2}

我尝试过使用from((和toArray((的组合(即将可观察对象转换为普通数组,然后再转换回逐个发出每个文档的可观察对象(,但toArray(只创建了一个发出数组的可观察结果,而不是实际的数组。我需要一个与toArray((相反的操作。取一个发出数组的可观测对象,并将其转化为单独发出每个值的可观测。

我该怎么做?


编辑:

我还试着做一些类似的事情

const newObs = oldObs.subscribe(x => from(x))

但存储订阅者,而不是新的可观察对象=(

有多种方法可以做到这一点。例如:

collectionData(firebase.firestore.collection('collectionname'))
.pipe(
concatAll(),
)
.subscribe();

您也可以使用concatMap(array => array)

您也可以使用merge*来代替concat*

相关内容

  • 没有找到相关文章

最新更新