//改文章只是为了记录
//改文章只是为了记录
//改文章只是为了记录
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))
}
})
}
}
网友评论