Flow 完成:32. onCompletion 声明式完成

本篇解析 example-flow-32.kt。学习如何使用操作符来处理 Flow 的结束。

1. 核心操作符:onCompletion

onCompletion 是一个声明式的操作符,用于在流收集完成时执行逻辑。

与 finally 的区别:

  • 链式调用:它作为一个操作符存在,使代码流更加统一。
  • 异常感知:它能感知到流是正常结束还是由于异常结束。

2. 代码解析

1
2
3
simple()
.onCompletion { println("Done") } // 流结束时触发
.collect { value -> println(value) }

3. 开发者感悟

onCompletiontry-finally 更符合响应式编程的习惯。它常用于在数据流结束后隐藏 UI 上的加载动画或进度条。

,