CancellationToken 3.2.0

CancellationToken 3.2.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2019年6月
SPM支持 SPM

Tom Lokhorst 维护。



swift-cancellationtoken


"取消令牌" 是一个小对象,可以传递给一个或多个异步任务。此令牌可以用作指示用户不再对异步任务的输出感兴趣。

通过使用取消令牌,异步任务的创建和取消被分成两个独立的部分。

用法

  1. 创建一个 CancellationTokenSource
  2. 从源获取令牌。
  3. 将令牌传递给某个异步任务。
  4. 异步任务可能会将其传递给子任务。
  5. 当不再对异步任务的输出感兴趣时;取消源。此取消将传播到令牌以及所有令牌副本。
  6. 异步任务可以选择取消其操作并以自己的方式失败。

示例

以下是一个基于 绑定 到 Alamofire 的示例

// Create a CancellationTokenSource and a CancellationToken
let source = CancellationTokenSource()
let token = source.token

// Start the asynchroneous downloading of a large file, passing in the cancellation token
request(largeFileUrl, cancellationToken: token)
  .response { response in
    if let error = response.error as? NSError {
      if error.domain == NSURLErrorDomain && error.code == NSURLErrorCancelled {
        print("The downloading was cancelled")
      }
    }
    else {
      print("The response is available: \(response)")
    }
  }

// Some time later, request cancellation
source.cancel()

安装

CocoaPods

取消令(CancellationToken)在iOS和OS X上都可用。使用CocoaPods,您可以在Podfile中指定,以便将取消令集成到您的Xcode项目中

pod 'CancellationToken'

然后,运行以下命令

$ pod install

手动

取消令是一个单独的文件,所以您也可以在其中复制它到您的项目中,而不是使用CocoaPods

发布

  • 3.2.0 - 2016-06-10 - podspec中的Swift 5.1
  • 3.1.0 - 2018-09-13 - 更新到Swift 4.2,添加tvOS支持
  • 3.0.0 - 2018-03-27 - 当源释放时自动取消
  • 2.1.0 - 2017-11-27 - 锁定内部状态,适用于多线程
  • 2.0.0 - 2017-10-30 - Swift 4支持,API清理
  • 1.1.0 - 2017-06-18 - Swift 3.2支持
  • 1.0.0 - 2017-02-23 - 在取消源销毁时取消
  • 0.3.0 - 2016-09-20 - Swift 3支持
  • 0.2.0 - 2015-09-11 - Swift 2支持
  • 0.1.1 - 2015-06-24 - 没有更多的循环引用,修复内存泄漏
  • 0.1.0 - 2015-03-31 - 首次公开发布
  • 0.0.0 - 2014-10-31 - 为Q42项目提供的初始私有版本

授权 & 信用

取消令由Tom Lokhorst 编写,可供MIT许可下使用,因此您可以在商业和非商业项目中免费使用它。此库根据.NET取消模型建模。