Как правильно применять callbackFlow в реальном Android Kotlin проекте?

Android / KotlinMiddleCoroutines и FlowПрактикаandroid kotlin developer|coroutines и flow|flow|callbackflow

Что хотят услышать интервьюеры:

Практический подход: применяйте callbackFlow там, где это решает конкретную задачу приложения, а не ради шаблона.

  • Определите слой: UI, ViewModel, domain, data, platform или infrastructure.
  • Проверьте lifecycle, cancellation, ошибки, configuration change и process death.
  • Добавьте тест или хотя бы воспроизводимый сценарий.

Ответ:

Смысл темы: адаптирует callback-based API в Flow и требует awaitClose для очистки listener. На собеседовании: объясните не только API, но и границы ответственности.

callbackFlow {
  val l = addListener {
  trySend(it)
}
;
awaitClose {
  removeListener(l)
}

}

Источники

Похожие вопросы