Как я могу использовать каналы сопрограмм вместе с компоновщиком liveata сопрограмм (androidx.lifecycle:lifecycle-livedata-ktx architecture component)
для непрерывного прослушивания сообщений, генерируемых из библиотеки веб-сокетов, в ReceiveChannel<String>
?
Моя первая мысль - реализовать это следующим образом
val user: LiveData<String> = liveData {
while(true) {
val data = myWebsocketChannel.receive() //Channel suspend function
emit(data)
}
}
Но это звучит немного "не-котлино", и моя интуиция говорит мне, что лучше это решить. Есть ли лучший способ обработки данных, полученных после получения канала сопрограммы?