//改文章只是为了记录
//改文章只是为了记录
//改文章只是为了记录
fun makeFlow() = flow {
LogUtils.e(tag, "emit flow->", "sending first value")
emit(1)
LogUtils.e(tag, "emit flow->", "first value collected, sending another value")
emit(2)
LogUtils.e(tag, "emit flow->", "second value collected, sending a third value")
emit(3)
LogUtils.e(tag, "emit flow->", "done")
}
fun listFlow() = flow<List<String>> {
emit(list())
}
suspend fun list(): List<String> {
delay(6666L)
return mutableListOf<String>("1", "2", "3")
}
//测试
GlobalScope.launch {
withContext(Dispatchers.IO) {
val flowCollector = object : FlowCollector<Int> {
override suspend fun emit(value: Int) {
LogUtils.e(tag, "emit->", value)
}
}
Test.makeFlow().collect(flowCollector)
Test.listFlow().collect(object : FlowCollector<List<String>> {
override suspend fun emit(value: List<String>) {
LogUtils.e(tag, "emit List->", GsonUtils.toJson(value))
}
})
}
}
android flow用法
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。