рх.
Сначала делаю запрос в сети, получаю его, мапаю в удобные объекты, записываю в базу полученные элементы, после этого из базы беру элементы и вывожу на экран. вот этот момент смущает
dao.insertEvents(events).andThen(dao.getEventList())
надо ли дожидаться окончания записи в базу и только потом выводить на экран? или сразу выводить на экран и начинать писать в базу?
disposable += service.getEvents()
.subscribeOn(Schedulers.io())
.map { eventsResponse: List<EventResponse> ->
mapResponseToEventList(eventsResponse)
}
.flatMapSingle { events: List<EventItem.Event> ->
dao.insertEvents(events).andThen(dao.getEventList())
}
.map { events: List<EventItem.Event> ->
groupEventsByDate(events)
}
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
{ groupAdapter.addAll(it) },
{ Log.e(TAG, it.message, it) }
)
Запросы к базе синхронные вроде бы, нет?
Обсуждают сегодня