当前位置: 首页 > 知识库问答 >
问题:

使用rxjs的顺序和依赖查询

宦翔
2023-03-14

我试图在Firebase数据库上进行多个顺序和依赖的查询。这就是数据库的样子:

books : { book1: { title: 'Book 1', author: 'author1' } }
authors: { author1: { name: 'Author 1' } }

我想检索所有的图书,遍历它们,获取相关的作者名称,在每个图书对象中设置值,并返回一个包含图书对象的可观察数组。

getBooks(): Observable<Book[]> {
    return this._af.database
        .list('/books')
        .flatMap(e => e)
        .concatMap(e => this.getAuthor(e.author), (a, b) => {
            a.author = b.lastName;
            return a;
        });
}

共有1个答案

谢弘阔
2023-03-14

如果列表(/books)返回类似[bookObj,bookObj]的数组,则需要获取每本书的作者信息,除非输出需要保留输入书籍的顺序,否则不需要concatMap。

  getBooks(): Observable<Book[]> {
    return this._af.database
      .list('/books')
      .flatMap(booksArr => Rx.Observable.from(booksArr))
      .flatMap(
        book => this.getAuthor(e.author),
        (book,a) => { 
          a.author = book.lastName; 
          return a; 
        }
      );
  }
 类似资料:
  • 我有一个自定义gradle任务的问题:我想复制我的android jar库,然后将其重命名为“clean build”,这是我如何定义它的: 问题是,在gradle日志结果中,'clean'是在'build'任务之后完成的,因此库永远不会复制到目标文件夹: 我也尝试过在“depends on:[]”中更改任务的顺序,但这并没有改变任何东西...有人知道我错在哪里吗?提前致谢

  • 我正在做一个关于Spring Boot 1.5的项目。它具有以下类型的配置类: 这在Spring Boot 1.5中运行正常,但当我升级到Spring Boot 2时,它不再工作,应用程序将不会启动,出现异常“找不到类型DependencyA的bean”。我想这可能是因为bean不是在Spring尝试注入依赖项时创建的,因此,作为“黑客”,在依赖项注入中添加了@Lazy。这起作用了。 鉴于此,配置

  • 我对整个Java生态系统还是个新手,我已经花了几个小时的时间来获得一个外部依赖者来与Intellij一起工作。我使用一个简单的Java应用程序,它包含一个,其中包含: 包含对com.google.guava的依赖项(必需),如下所示: 每当我尝试调试时,都会得到无法加载的错误。我还尝试克隆https://github.com/tfnico/guava-example(将Java版本更新为受支持的版

  • 问题内容: React Hooks useState 可以将本地状态附加到无状态功能组件,例如 我想知道执行上面两行后的本地状态对象树是什么样子? 胡克规则说了一些关于状态如何处理的事情 React依赖于Hook的调用顺序 还是局部状态根本不是对象树,而只是一个数组? 提前致谢! 问题答案: 挂钩在内部实现为队列,每个挂钩由引用下一个的节点表示。 从文档中: 每个组件都有一个内部的“内存单元”列表

  • 问题内容: 我认为Maven依赖关系的顺序之前无关紧要,并认为这是它的一个优点。这是我以前的依赖项: 它运作良好,今天我要把对弹簧的依赖移到最底层,以便与那些球衣相关的东西可以在一起。但是后来我再也无法正常工作了,我的码头抱怨道: 那真的很令人困惑,所以我是否需要考虑依赖顺序?我怎么知道正确的顺序? 问题答案: 依赖关系的顺序确实很重要,因为从2.0.9版开始,Maven如何解决传递依赖关系。文档