本篇解析 example-flow-32.kt。学习如何使用操作符来处理 Flow 的结束。
1. 核心操作符:onCompletion
onCompletion 是一个声明式的操作符,用于在流收集完成时执行逻辑。
与 finally 的区别:
- 链式调用:它作为一个操作符存在,使代码流更加统一。
- 异常感知:它能感知到流是正常结束还是由于异常结束。
2. 代码解析
1 | simple() |
3. 开发者感悟
onCompletion 比 try-finally 更符合响应式编程的习惯。它常用于在数据流结束后隐藏 UI 上的加载动画或进度条。