將DispatchQueue-heavy模組轉換為async/await
何時使用: 您擁有一個混合DispatchQueue、completion處理常式和@ escaping關閉項的模組;您想要async/await。
前置條件
- 使用Swift 5.9+的Xcode (如果您希望嚴格並發,請使用Swift 6模式) — 從App Store安裝Xcode
- 已安裝技能 — /plugin marketplace add kylehughes/the-unofficial-swift-concurrency-migration-skill
步驟
-
索取遷移計劃引用Swift並行遷移指南,引用NetworkService.swift遷移到async/await。✓ 已複製→ 計劃參考指南中已命名的文章
-
分步應用從公用API表面開始—將completion-handler方法轉換為async/await。✓ 已複製→ 程式碼使用慣用異步API ,而非包裝器回呼
-
處理取消訂單和隔離新增任務取消,並決定快取的執行者隔離。✓ 已複製→ 正確的Task.checkCancellation +明確的Actor隔離
結果: 模組遷移乾淨,其推理與Apple自己的指導相結合。
注意事項
- 將回撥包裝在withCheckedContinuation中,而無需修復所有權 — 首先遷移根API ;不要將連續作為永久橋接器