测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最后发布 | 2017年3月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 Junior B. 维护。
依赖 | |
BrightFutures | ~> 5.1 |
RxSwift | ~> 3.0 |
RxBrightFutures 是围绕 BrightFutures 的小型包装,允许通过单函数 rx_observable
或 rx_subject
将承诺和未来转换为可观察者或主题。
在代码库中有项目作为示例,但基本内容如下所示
let stringURL = "..."
let url = NSURL(string: stringURL)!
let request = NSURLRequest(URL: url)
let config = NSURLSessionConfiguration.defaultSessionConfiguration()
let session = NSURLSession(configuration: config)
let networkPromise = Promise<NSData, NSError>()
let task : NSURLSessionDataTask = session.dataTaskWithRequest(request) { (data, response, error) in
if let e = error {
networkPromise.tryFailure(e)
} else {
if let d = data {
networkPromise.trySuccess(d)
} else {
networkPromise.tryFailure(NSError(domain: "Data error", code: -1, userInfo: nil))
}
}
}
networkPromise.future
.flatMap() { value in
return self.deserializeData(value)
}
.rx_observable()
.subscribeNext() { json in
self.toTextField.text = self.processData(json)
}
task.resume()
欢迎在 develop
仓库进行贡献。任何提交到 master
分支的请求都会被拒绝。
该项目在 MIT 许可证 下发布。