显式类型参数Kotlin和RxJava

尤金

这是使用RxJava的唯一可能的方式composeThreadTransformer在科特林?我只是不喜欢功能<MyType>部分compose可以省略吗?

  override fun call(): Observable<MyType> {
    return Observable.just(getData())
        .compose(threadTransformer.applySchedulers<MyType>())
  }
弗拉基米尔·米罗诺夫(Vladimir Mironov)

Observable.compose是缺少Java扩展功能的一种解决方法。Observable.compose由于Kotlin支持扩展功能,因此无需在Kotlin中使用:

// default schedulers
fun <T> Observable<T>.applySchedulers(): Observable<T> {
  return subscribeOn(Schedulers.computation()).observeOn(AndroidSchedulers.mainThread())
}

// custom transformer
fun <T> Observable<T>.applySchedulers(transformer: ThreadTransformer): Observable<T> {
  return compose(transformer.applySchedulers<T>())
}

override fun call(): Observable<MyType> {
  return Observable.just(getData()).applySchedulers()
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章