在RxKotlin / RxJava中使用BehaviorSubject以惯用方式创建热观察对象

时间:2018-02-01 17:08:04

标签: java rxjs rx-java rx-java2 rx-kotlin

目前我正在使用RxKotlin在Kotlin建立一个项目。我对Rx的背景主要是基于RxJS。

我经常用于在Typescript中创建hot observables的模式看起来像这样:

  private dataStore: IFoo;
  private dataStoreSubject: BehaviorSubject<IFoo> = new BehaviorSubject(this.dataStore);
  public dataStoreObservable: Observable<IFoo> = Observable.from(this.dataStoreSubject);

  public getNetworkData(): Observable<IFoo[]> {
      return this.http.get()
         .map((response: IResponse) => {
             this.dataStore = <IFoo[]>response;
             this.dataStoreSubject.next(this.dataStore);
             return this.dataStore;
          });
   }

这样我就可以公开Observable,而不会公开Subjectsubject.next();方法。

我的问题是:在RxKotlin或RxJava中建立类似逻辑的最惯用方法是什么?

1 个答案:

答案 0 :(得分:0)

您需要使用撰写和转换。您可以在主题和可观察对象之间添加“链接”。