Я пытаюсь написать функцию расширения для Observable.subscribe, которая автоматически регистрирует ошибки.
fun <T> Observable<T>.subscribeAndLogE(onNext: Consumer<in T>): Disposable =
subscribe(onNext, ErrorConsumer())
ErrorConsumer работает и, вероятно, регистрирует ошибку, но subscribeAndLogE
не принимает лямбда-выражения, такие как .subscribe()
делает.
observer.subscribe {
//works
}
observer.subscribeAndLogE {
//does not work
}
В нем говорится:
При этом OnboardingScreen будет любым значением, равным T
.1017 *
Я не вижу, чтобы оригинал Consumer<in T>
в Observable
делал что-то особенное, чтобы принимать лямбды.Что я здесь не так делаю?