Ответ
flatMapLatest и flatMapMerge — операторы для обработки потоков в Kotlin Flow/RxJava.
flatMapLatest:
- Отменяет предыдущую корутину/задачу при поступлении нового элемента.
- Полезен для поиска (например, отмена предыдущего запроса при новом вводе).
searchFlow.flatMapLatest { query ->
api.search(query)
}
flatMapMerge:
- Запускает все корутины параллельно и объединяет результаты по мере завершения.
- Подходит для независимых задач (например, загрузка нескольких файлов).
idsFlow.flatMapMerge(concurrency = 3) { id ->
api.fetchData(id)
}