TaskCancelKit 是一个 Swift 库,旨在简化可取消任务的管理,尤其适用于 iOS 和 macOS 应用程序中的异步操作。借助 TaskCancelKit,开发人员可以轻松取消正在进行的任务,防止产生不必要的副作用,并有效地管理资源。
易于任务管理:通过简单的方法调用取消单个或所有任务。类型安全的任务标识符:利用 Swift 的类型系统来管理具有自定义标识符的任务。轻量高效:一种极简的方法,易于集成到任何项目中。
您可以通过 Swift Package Manager 将 TaskCancelKit 添加到您的项目中,方法是将以下内容添加到您的 Package.swift 文件中
dependencies: [
.package(url: "https://github.com/insub4067/TaskCancelKit.git", .upToNextMajor(from: "1.0.0"))
]
首先,创建一个 TaskCancelBag 的实例,您可以在其中存储您的任务。
import TaskCancelKit
private let cancelBag = TaskCancelBag<TaskID>()
创建任务时,使用标识符将其存储在您的 cancelBag 中。
enum TaskID {
case countThree
}
func executeAfterThreeSecond() {
Task {
try await Task.sleep(for: .seconds(3))
print("Task Complete")
}.store(in: cancelBag, id: .countThree)
}
您可以单独取消任务,也可以一次性全部取消。
// Cancel a specific task
cancelBag.cancel(id: .countThree)
// Cancel all tasks
cancelBag.cancelAll()
我们欢迎对 TaskCancelKit 的贡献!请阅读我们的贡献指南,了解有关如何提出错误修复、功能以及提交 pull request 的详细信息。
TaskCancelKit 在 MIT 许可证下发布。 有关更多信息,请参见 LICENSE。