Может ли 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

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