None 可以使用提供的参数调用以下函数
None of the following functions can be called with the arguments supplied
代码如下:
getUsersObservable()
.subscribeOn(Schedulers.io())
//.observeOn(AndroidSchedulers.mainThread())
.map { user: User ->
user.email = String.format("%s@rxjava.wtf", user.name)
user.name = user.name!!.toUpperCase()
}
.subscribe(object : Observer<User> {
override fun onComplete() {
}
override fun onSubscribe(d: Disposable) {
}
override fun onNext(t: User) {
}
override fun onError(e: Throwable) {
}
})
我收到以下错误:
/Users/johann/Work/Dev/Kotlin/rxjava-walkthrough-kotlin/app/src/test/java/ktplay/RxKotlinPlay.kt:
(49, 14): None of the following functions can be called with the
arguments supplied: @CheckReturnValue @SchedulerSupport public final
fun subscribe(p0: ((Unit) -> Unit)!): Disposable! defined in
io.reactivex.Observable @SchedulerSupport public final fun
subscribe(p0: Observer): Unit defined in
io.reactivex.Observable @CheckReturnValue @SchedulerSupport public
final fun subscribe(p0: Consumer!): Disposable! defined in
io.reactivex.Observable
此错误发生在订阅的行上。
目前,您的 map
运算符采用 User
和 returns Unit
而不是 User
。它应该看起来像这样:
.map { user: User ->
user.email = String.format("%s@rxjava.wtf", user.name)
user.name = user.name!!.toUpperCase()
user
}
只修改成订阅"safe"Observer(User?>
.subscribe(object: Observer<User?> {
override fun onNext(t: User) {
// Perform the value of `t`
}
override fun onComplete() {
// Perform something on complete
}
override fun onSubscribe(d: Disposable) {
// Disposable provided
}
override fun onError(e: Throwable) {
// Handling error
}
})
代码如下:
getUsersObservable()
.subscribeOn(Schedulers.io())
//.observeOn(AndroidSchedulers.mainThread())
.map { user: User ->
user.email = String.format("%s@rxjava.wtf", user.name)
user.name = user.name!!.toUpperCase()
}
.subscribe(object : Observer<User> {
override fun onComplete() {
}
override fun onSubscribe(d: Disposable) {
}
override fun onNext(t: User) {
}
override fun onError(e: Throwable) {
}
})
我收到以下错误:
/Users/johann/Work/Dev/Kotlin/rxjava-walkthrough-kotlin/app/src/test/java/ktplay/RxKotlinPlay.kt: (49, 14): None of the following functions can be called with the arguments supplied: @CheckReturnValue @SchedulerSupport public final fun subscribe(p0: ((Unit) -> Unit)!): Disposable! defined in io.reactivex.Observable @SchedulerSupport public final fun subscribe(p0: Observer): Unit defined in io.reactivex.Observable @CheckReturnValue @SchedulerSupport public final fun subscribe(p0: Consumer!): Disposable! defined in io.reactivex.Observable
此错误发生在订阅的行上。
目前,您的 map
运算符采用 User
和 returns Unit
而不是 User
。它应该看起来像这样:
.map { user: User ->
user.email = String.format("%s@rxjava.wtf", user.name)
user.name = user.name!!.toUpperCase()
user
}
只修改成订阅"safe"Observer(User?>
.subscribe(object: Observer<User?> {
override fun onNext(t: User) {
// Perform the value of `t`
}
override fun onComplete() {
// Perform something on complete
}
override fun onSubscribe(d: Disposable) {
// Disposable provided
}
override fun onError(e: Throwable) {
// Handling error
}
})