【发布时间】:2019-07-11 20:25:15
【问题描述】:
在下面的代码中,在伴生对象中,create 方法应该返回 Single。如代码所示,我使用的最后一个运算符是 flatmap() 将改造对象转换为 Maybe.just 以确保它不为空。 但是,当我使用这个运算符时
.flatMap {retrofit->Maybe.just(retrofit)}
我无法链接任何其他运算符来将返回值从上述平面图转换为 Single。请让我知道为什么我不能在上述代码上链接任何其他运算符,也 请找到下面发布的代码
代码
interface WikiApiService {
@GET("api.php")
fun hitCountCheck(
@Query("action") action: String,
@Query("format") format: String,
@Query("list") list: String,
@Query("srsearch") srsearch: String
):
Observable<ResponseObjectModelForQuery.ResultOfQuery>
@GET("api.php")
fun hitContinue2(
@Query("action") action: String,
@Query("format") format: String,
@Query("list") list: String,
@Query("srsearch") srsearch: String
):
Observable<ResponseObjectModelForContinueSrOffset.ResultOfContinueSrOffset>
@GET("api.php")
fun hitContinue3(
@Query("action") action: String,
@Query("format") format: String,
@Query("list") list: String,
@Query("srsearch") srsearch: String
):
Observable<ResponseObjectModelForContinueContinue.Continue>
//why do we need a companion object
companion object {
fun create(): Single<WikiApiService>? {
return Single.just(
Retrofit.Builder()
.addCallAdapterFactory(
RxJava2CallAdapterFactory.create()
)
.addConverterFactory(
GsonConverterFactory.create()
)
.baseUrl("https://en.wikipedia.org/w/")
.build())
//workin.flatMap { Maybe.just(it.create(WikiApiService::class.java)).toSingle()}
.flatMap {retrofit->Maybe.just(retrofit)}
.//cant chain any further operators
}
}
}
【问题讨论】:
标签: android kotlin observable rx-java2