//改文章只是为了记录
//改文章只是为了记录
//改文章只是为了记录
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用法
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...