Я использую Retrofit2
и RxJava2
для сетевых запросов.
У меня есть простой исполняемый файл, который включает в себя:
override fun run() {
handler.postDelayed(this, interval)
DummyService.syncData(context, null)
.observeOn(AndroidSchedulers.mainThread())
.subscribe( response -> {
//nothing
}, e -> {
//nothing
});
}
И моя функция syncData
выглядитвот так:
fun syncData(): Single<Unit> {
Log.d("...", "sync before")
return service.test(null)
.onErrorResumeNext(ErrorHandler(BaseErrorParser()))
.map { jsonApiObject ->
Log.d("...", "sync WHOLE DATA")
....
}
}
В журнале я вижу, что работоспособность работает хорошо - вызывается syncData()
, и я вижу в логах сообщение "sync before"
, но я не вижу "sync WHOLE DATA"
.Я попытался установить точку останова - она показывает проверку (как это было там, но отладчик никогда не останавливает [попадание] этой точки на самом деле).Я вижу, что сетевой запрос выполняется, но не удается.Это почему?Если я вызываю ту же самую функцию нормально (не из runnable), она работает нормально.