SuperAPI AI 工具集

axiom-combine-patterns

前端与建站

查看项目

更新于 10-15 20:11

技能介绍

用途:该技能用于维护和编写 Combine 响应式代码,覆盖发布者、订阅者生命周期、@Published 属性,以及 Combine 与 async/await 的互操作。

主要能力:提供 Combine 与 async/await 的决策树(一次性请求用 async/await,时间类操作符与多流合并用 Combine);讲解 AnyCancellable 存储规则与四类内存泄漏模式(sink 强引用 self、未 store(in:)、cancellables 未清理、assign(to:on:) 强引用);整理 map、compactMap、flatMap、combineLatest、merge、zip、debounce、throttle、retry、replaceError 等操作符的用法与陷阱;说明 @Published 的 willSet 时机、嵌套 ObservableObject 不触发更新、线程安全要求;介绍 Publisher 与 AsyncSequence 互转(.values、Future、Deferred)及 Subject 的 send-after-completion 问题。

使用方式:按需查阅对应章节,示例代码保持原样,如 .store(in: &cancellables)、.assign(to: &$displayName)、.debounce(for: .milliseconds(300), scheduler: RunLoop.main)、.switchToLatest()。

适用场景:维护既有 Combine 管线、排查管线静默停止或内存泄漏、在 Combine 与 async/await 边界做桥接、使用 @Published 与 ObservableObject。

限制:Timer.publish、@Observable 迁移、UIKit 与 SwiftUI 视图桥接、通用 async/await 模式不在本技能范围,需转向对应技能;资料未提供具体版本兼容细节与完整 API 列表。