Как использовать класс ContextWrapper с subscribeWith

Привет, я создал ContextWrapper для обработки ошибок в одном месте и хочу использовать его в subscribeWith .

 abstract class CallbackWrapper<T : BaseResponse> : DisposableObserver<T>() { protected abstract fun onSuccess(t: T) override fun onNext(t: T) { //You can return StatusCodes of different cases from your API and handle it here. I usually include these cases on BaseResponse and inherit it from every Response onSuccess(t) } override fun onError(e: Throwable) { when (e) { is HttpException -> { val responseBody = (e as HttpException).response().errorBody() responseBody?.let { // view?.onUnknownError(getErrorMessage(it)) } } is SocketTimeoutException -> { // view?.onTimeout() } is IOException -> { // view?.onNetworkError() } else -> { e.message?.let { // view?.onUnknownError(it) } } } } override fun onComplete() { } private fun getErrorMessage(responseBody: ResponseBody): String { val jsonObject = JSONObject(responseBody.string()) return jsonObject.getString(("message")) } } 

Я пытаюсь использовать это, как показано ниже.

 ApiHelperImpl().doServerLoginApiCall(email, password) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribeWith(CallbackWrapper<LoginResponse> { }) 

введите описание изображения здесь

Я хочу сделать что-то вроде https://blog.mindorks.com/rxjava2-and-retrofit2-error-handling-on-a-single-place-8daf720d42d6 Кто-нибудь знает, как это сделать?

Вам нужно поставить () после CallbackWrapper<LoginResponse> и создать экземпляр абстрактного класса в kotlin вы должны называть его как: object: AbstractClass(...params){}

 ApiHelperImpl().doServerLoginApiCall(email, password) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribeWith(object: CallbackWrapper<LoginResponse>() { override fun onSuccess(r: LoginResponse) { } })