Холодный Flow без подписчика
В репозитории объявлено:
val prices = flow {
println("запрос отправлен")
emit(api.getPrices())
}
Во ViewModel написали:
val pricesFlow = repository.prices
Что будет в логе после создания ViewModel, если на поток ещё никто не подписался?
- Сообщение появится один раз — в момент обращения к свойству во ViewModel, когда поток попадает в новую переменную
- В логе не будет ничего: тело выполняется только при подписке, и заново на каждую подписку
- Код не скомпилируется: внутри такого билдера нельзя вызывать приостанавливающие функции вроде сетевого запроса
- Сообщение появится сразу при создании потока в репозитории, потому что тело билдера выполняется в момент объявления
