代码之家  ›  专栏  ›  技术社区  ›  Jack Guo

rxjava:如何拆分单个

  •  1
  • Jack Guo  · 技术社区  · 7 年前

    如何将单个流拆分为单独的单个流,以便我可以在不进行计算的情况下执行以下操作 getUserId() 两次?

    // getUserId() returns Single<String>
    
    getUserId().flatMap { getSomething(it) }  // Return Single<Something>
    getUserId().flatMap { getSomethingElse(it) } // Return Single<SomethingElse>
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   Sourabh    7 年前

    缓存的结果 getUserId 使用 cache

    val userIdCached = getUserId().cache()
    userIdCached
        .flatMap { getSomething(it) }
        .subscribe(...)
    userIdCached
        .flatMap { getSomethingElse(it) }
        .subscribe(...)