这是使用RxJava的唯一可能的方式compose
与ThreadTransformer
在科特林?我只是不喜欢功能<MyType>
部分compose
。可以省略吗?
override fun call(): Observable<MyType> {
return Observable.just(getData())
.compose(threadTransformer.applySchedulers<MyType>())
}
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] 删除。
我来说两句