文章目录
一、流的上下文
1、上下文保存
2、流收集函数原型
3、流发射函数原型
4、代码示例 - 查看流发射和收集的协程
5、代码示例 - 不能在不同协程中执行相同流的发射和收集操作
二、修改流发射的协程上下文...1、Flow#flowOn 函数原型
2、代码示例
一、流的上下文
----
1、上下文保存
Flow 异步流 收集元素 的操作 , 一般是在 协程上下文 中进行的 , 如 : 在协程中调用 Flow...中的代码 , 收集元素操作在协程中执行 , 流构建器 也同样在相同的协程中运行 ;
流收集元素 和 发射元素 在相同的协程上下文中 的 属性 , 称为 上下文保存 ;
2、流收集函数原型
Flow#collect...PID: 19710 SIG: 9
二、修改流发射的协程上下文
----
在上述 流的收集 和 流的发射 都 必须在同一个协程中执行 , 这样并不是我们想要的 ;
如 : 下载时 , 想要在后台线程中下载..., 在主线程中更新 UI , 那么对应 Flow 异步流应该是在 后台线程中 发射元素 , 在主线程中 收集元素 ;
使用 flowOn 操作符 , 可以修改 流发射 的协程上下文 , 不必必须在 流收集