首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rxjs 6 observable<any> to observable<any[]>

rxjs 6 observable<any> to observable<any[]>
EN

Stack Overflow用户
提问于 2021-03-30 02:43:28
回答 2查看 23关注 0票数 0

我使用angular/fire valueChanges()获取文档

代码语言:javascript
复制
const countries: Observable<any> = this.AngularFireStorage
      .doc('country/country')
      .valueChanges()

如果添加管道(点击(x => console.log(X)。它将记录

代码语言:javascript
复制
{ jp: {id: jp}, us: {id: us}}

我想要的是添加管道(点击(x => console.log(x))并获取

代码语言:javascript
复制
{id: jp}
{id: us}

如何转换国家/地区:可观察到国家/地区: Observable

EN

回答 2

Stack Overflow用户

发布于 2021-03-30 02:51:51

代替pipe(tap(x => console.log(x))

写入:

代码语言:javascript
复制
pipe(tap(x =>
    const result = [];
    Object.keys(x).forEach(key => result.push(x[key]));
    console.log(result);
))
票数 1
EN

Stack Overflow用户

发布于 2021-03-30 05:02:09

您可以使用Object.values将对象的值转换为数组。您可以使用三个常见的高阶运算符(switchMapmergeMapconcatMap)中的任何一个将该数组转换为值流。

这看起来可能是这样的:

代码语言:javascript
复制
const countries: Observable<any> = this.AngularFireStorage
  .doc('country/country').valueChanges().pipe(
    concatMap(Object.values),
    tap(console.log)
  )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66859818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档