用途:该技能面向 Effect(TypeScript 库)中的自动资源管理,帮助在获取资源后自动清理,构建无泄漏应用。
主要能力:Scope 表示资源生命周期,作用域关闭时自动执行注册的 finalizer;addFinalizer 注册清理逻辑,finalizer 按 LIFO 逆序执行并接收 Exit 信息;acquireRelease 用于简单的获取/释放;acquireUseRelease 用于一次性使用;支持嵌套作用域、并行作用域,以及资源池和带清理的缓存等模式。
使用方式:在 Effect.scoped 内获取资源,紧接其后用 Effect.addFinalizer 注册清理;简单模式直接用 Effect.acquireRelease(获取, 释放) 或 Effect.acquireUseRelease(获取, 使用, 释放)。
适用场景:数据库连接、文件句柄、网络/WebSocket、连接池、事务、分布式锁、带清理的缓存。
限制与注意:资源必须在 scoped 中使用;获取后应立即注册 finalizer;清理错误应被捕获并记录;避免手动清理和重复清理;finalizer 中避免长时间阻塞;需注意作用域嵌套顺序与所有退出路径的清理。资料未提供具体安装命令、版本要求与收费信息。