У меня есть вызов Async, в котором слушатель обратного вызова я поместил emitter.onNext (). Этот асинхронный вызов находится внутри for-in (я знаю размер списка). Я хотел бы вызвать onComplete (), когда последний элемент был передан в onNext ().
for (anItem in itemList) {
eventsQuery.get()
.addOnCompleteListener { task ->
if (task.isComplete) {
emitter.onNext(myItemFromTask)
if(count == itemList.size){
emitter.onComplete()
}
}
}
}
Счет, так как это асинхронный вызов, не увеличивается должным образом, и onComplete () никогда не вызывается.
Как правильно обращаться с этой ситуацией? Мне нужно, чтобы onComplete показывал вид и удалял строку загрузки / прогресса.