Flow 完成:31. 命令式完成 finally

本篇解析 example-flow-31.kt。探讨如何感知 Flow 的结束。

1. 核心概念:try-finally

就像处理异常一样,你可以使用传统的 try-finally 块来在 Flow 结束时执行特定逻辑。

2. 代码解析

1
2
3
4
5
try {
simple().collect { value -> println(value) }
} finally {
println("Done") // 无论流是正常结束还是报错结束,这里都会执行
}

3. 开发者感悟

这是最基础的资源清理方式。如果你在收集 Flow 时开启了某些外部资源(如传感器、进度条),在 finally 块中关闭它们是最稳妥的。

,