【发布时间】:2019-10-23 08:58:16
【问题描述】:
如何将协程通道与 livedata 协程构建器 (androidx.lifecycle:lifecycle-livedata-ktx architecture component) 一起使用,以持续侦听从 websocket 库生成到 ReceiveChannel<String> 的消息?
我的第一个想法是这样实现
val user: LiveData<String> = liveData {
while(true) {
val data = myWebsocketChannel.receive() //Channel suspend function
emit(data)
}
}
但这感觉有点“非 kotliny”,我的直觉告诉我有更好的解决方法。 有没有更好的方法来处理从协程通道接收到的发布数据?
【问题讨论】:
标签: android android-livedata kotlin-coroutines