AsyncTimeout

一个 Swift 实用工具,为使用 Swift 5.5 中引入的新的 async/await 语法的异步操作提供超时机制。

特性

如何使用

  1. 确保您正在使用 Swift 5.5 或更高版本,并且目标平台至少为 iOS 13.0 或 macOS 10.15。
  2. AsyncTimeout 结构体集成到您的项目中。
  3. 使用静态函数 withTimeout 包装您想要设置超时的异步操作。

Swift Package Manager

将以下内容添加到您的 Package.swift 依赖项中

dependencies: [
    .package(url: "https://github.com/RayKitajima/AsyncTimeout.git", from: "1.0.0"),
],

示例

import AsyncTimeout

do {
    let result: YourReturnType = try await AsyncTimeout.withTimeout(seconds: 5) {
        return try await someAsyncFunc()
    }
} catch AsyncTimeout.CustomError.timeout {
    print("The operation timed out!")
} catch {
    print("An error occurred: \(error.localizedDescription)")
}

详情

结构体 & 枚举

主要函数

注意

免责声明