一、withCheckedContinuation
- 将回调封装成 async/await
让旧式异步代码(例如基于闭包、delegate、通知的 API)可以以 await 的方式使用。 - 提供一个 continuation
continuation.resume() 用来告诉 async 函数异步任务完成,可以继续往下执行。 - Swift 会检查 continuation 是否正确 resume(安全性)
如果你多次 resume 或没 resume,它会在调试模式警告你。
// 等待弹框结束
await withCheckedContinuation { continuation in
WisdomHUD.showTextCenter(text: kGetText("购买成功"), delays: 1.5) { _ in
continuation.resume()
}
}