测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最后发布 | 2017年5月 |
SwiftSwift版本 | 3.0 |
SPM支持SPM | ✓ |
由 Steven Roebert 维护。
一个简单的 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'
手动
SwiftyPromise.xcodeproj
拖放到您的项目中 项目导航器。SwiftyPromise.framework
。+
按钮,并选择 新建文件复制阶段。设置 目标 为 框架,并添加 SwiftyPromise.framework
。Steven Roebert (@sroebert)
SwiftyPromise 在 MIT 许可下提供。