Может ли StageFlow иметь несколько сборщиков? не могу понять разницу между StateFlow и SharedFlowAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Может ли StageFlow иметь несколько сборщиков? не могу понять разницу между StateFlow и SharedFlow

Сообщение Anonymous »

Создано ниже MutableStateFlow для понимания того, как работает сбор с использованием StateFlow. Действителен ли приведенный ниже код? Как правильно исправить?

Код: Выделить всё

val _mutableStateFlow = MutableStateFlow(0)
val stateFlow: StateFlow = _mutableStateFlow

launch {
stateFlow.collect { value ->
println("Collector 1 received: $value")
}
}

launch {
stateFlow.collect { value ->
println("Collector 2 received: $value")
}
}

launch {
repeat(3) { i ->
delay(2000)
mutableStateFlow.tryEmit(i)
}
}
Вывод –

Код: Выделить всё

Collector 1 received: 0
Collector 2 received: 0
через 2 секунды

Код: Выделить всё

Collector 1 received: 1
Collector 2 received: 1
через 2 секунды

Код: Выделить всё

Collector 1 received: 2
Collector 2 received: 2
Как сбор данных работает с помощью StateFlow и SharedFlow?

Подробнее здесь: https://stackoverflow.com/questions/782 ... erence-bet
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»