Вступить в клуб →
лёгкаявопросКорутины и Flow

Холодный Flow без подписчика

В репозитории объявлено:

val prices = flow {
    println("запрос отправлен")
    emit(api.getPrices())
}

Во ViewModel написали:

val pricesFlow = repository.prices

Что будет в логе после создания ViewModel, если на поток ещё никто не подписался?

  • Сообщение появится один раз — в момент обращения к свойству во ViewModel, когда поток попадает в новую переменную
  • В логе не будет ничего: тело выполняется только при подписке, и заново на каждую подписку
  • Код не скомпилируется: внутри такого билдера нельзя вызывать приостанавливающие функции вроде сетевого запроса
  • Сообщение появится сразу при создании потока в репозитории, потому что тело билдера выполняется в момент объявления

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела