今天测试一个网络异常的情况下单回调,一直告诉我没有实现RxJava的onError回调,可是我检查来检查去,就是没有发现问题所在,明明我的BaseObser里实现了onError的统一处理了呀!就是给我报错
//代码一,提示没有实现onError处理
val currVersionName = AppUtil.getAppVersion(c)
ApiImplCommBuss().checkVersion(AppUtil.getAppVersion(c),1)
.subscribe { object:BaseObserver<JsonObjBase<Version>>() {
override fun onSuccess(t: JsonObjBase<Version>?) {
if (currVersionName.equals(it.data.versionName)) {
KLog.i(TAG, "已经是最新版本")
if (showToast) {
ToastUtil.show(c, "已经是最新版本!")
}
} else {
CommBussUIHelper.showVersionDialog(it.data, c) { it2 ->
BaseUIHelper.showWebPage(c, it.data.downloadUrl)
KLog.i(TAG, "跳转到下载页面")
}
}
}
}
}
然后,经过逐个字符的检查,发现是因为把圆括号()写成了花括号{}造成的
//代码二,没问题
val currVersionName = AppUtil.getAppVersion(c)
ApiImplCommBuss().checkVersion(AppUtil.getAppVersion(c),1)
.subscribe (object:BaseObserver<JsonObjBase<Version>>() {
override fun onSuccess(it: JsonObjBase<Version>) {
if (currVersionName.equals(it.data.versionName)) {
KLog.i(TAG, "已经是最新版本")
if (showToast) {
ToastUtil.show(c, "已经是最新版本!")
}
} else {
CommBussUIHelper.showVersionDialog(it.data, c) { it2 ->
BaseUIHelper.showWebPage(c, it.data.downloadUrl)
KLog.i(TAG, "跳转到下载页面")
}
}
}
})
浪费了2个小时,记录一下!