文章目录
一、使用 Flow 异步流持续获取不同返回值
二、Flow 异步流获取返回值方式与其它方式对比
三、在 Android 中 使用 Flow 异步流下载文件
一、使用 Flow 异步流持续获取不同返回值...----
在上一篇博客 【Kotlin 协程】Flow 异步流 ① ( 以异步返回返回多个返回值 | 同步调用返回多个值的弊端 | 尝试在 sequence 中调用挂起函数返回多个返回值 | 协程中调用挂起函数返回集合...: flow 构建器代码块中的代码 , 是可以挂起的 , 可以在其中调用 挂起函数 , 如 kotlinx.coroutines.delay 函数等 ;
/**
* 使用 flow...;
三、在 Android 中 使用 Flow 异步流下载文件
----
Android 中主线程不可执行网络相关操作 , 因此只能在 子线程 中下载文件 ,
可以在协程中使用 Dispatcher.IO...#emit 向主线程中发送进度值 ,
在主线程中 , 可以 使用 Flow#collect 函数 收集 Flow 异步流中发射出来的数据 , 如 : 进度 , 捕获的异常 , 下载状态等 ;
完整流程