Создание экземпляра потока Kotlin Coroutine, аналогичного каналу или широковещательному каналу - PullRequest
1 голос
/ 01 апреля 2020

Подобно каналам и широковещательным каналам, могут ли потоки также создаваться и использоваться повторно в нескольких местах?

Общее использование создания потоков заключается в переносе логики c для передачи данных внутри тела потока и возврата .

Фрагмент:

fun listenToDataChanges() : Flow<T>
{
return flow {
            dataSource.querySomeInfo()?.consumeEach { 
                data->
                if (someCondition) {
                    emit(data)
                }
            }
        }
}

Каждый раз, когда вызывается listenToDataChanges (), создается новый экземпляр потока и создается несколько подписок. Вместо этого возможно ли создать и повторно использовать экземпляр, чтобы избежать нескольких подписок?

...