这是使用RxJava的唯一可能的方式compose与ThreadTransformer在科特林?我只是不喜欢功能<MyType>部分compose.有可能省略吗?
override fun call(): Observable<MyType> {
return Observable.just(getData())
.compose(threadTransformer.applySchedulers<MyType>())
}
Run Code Online (Sandbox Code Playgroud)
Vla*_*nov 21
Observable.compose是Java中缺少扩展函数的一种解决方法.没有必要Observable.compose在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()
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1417 次 |
| 最近记录: |