SwiftyPromise 1.3.0

SwiftyPromise 1.3.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2017年5月
SwiftSwift版本3.0
SPM支持SPM

Steven Roebert 维护。



  • Steven Roebert

SwiftyPromise

一个简单的 Swift 框架。

这个小型库实现了 Swift 的线程安全承诺。它允许异步创建承诺并实现或拒绝它们。可以使用 then 方法将承诺链接起来。此外,它还支持取消承诺链。

用法

let promise: Promise<String> = Promise { (_, fulfill, reject) in
    performSomeAsynchronousTaskWithCompletion() { (resultString: String?, error: ErrorType?) in
        if let string = resultString {
            fulfill(string)
        }
        else {
            reject(error)
        }
    }
}

promise.success { string in
    print("The result is: \(string)")
}.failure { error in
    print("Something went wrong: \(error)")
}

promise.then { (string) -> AnyObject in
    guard let data = string.dataUsingEncoding(NSUTF8StringEncoding) else {
        throw PromiseError.Generic
    }
    return try NSJSONSerialization.JSONObjectWithData(data, options: [])
}.success { (jsonObject) in
    print("Parsed json object: \(jsonObject)")
}.failure { error in
    print("Could not parse json: \(error)")
}

安装

使用 CocoaPods

use_frameworks!
pod 'SwiftyPromise'

手动

  1. SwiftyPromise.xcodeproj 拖放到您的项目中 项目导航器
  2. 选择您的项目然后您的应用目标。打开 构建阶段 选项卡。
  3. 展开 目标依赖关系 组,并添加 SwiftyPromise.framework
  4. 单击面板左上角的 + 按钮,并选择 新建文件复制阶段。设置 目标框架,并添加 SwiftyPromise.framework
  5. 在需要使用 SwiftyPromise 的地方 import 它。

要求

  • iOS 8.0+, Mac OS X 10.9+, tvOS 9.0+ 或 watchOS 2.0+
  • Swift 2.0

作者

Steven Roebert (@sroebert)

许可证

SwiftyPromise 在 MIT 许可下提供。