RxBrightFutures 1.0

RxBrightFutures 1.0

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

Junior B. 维护。



 
依赖
BrightFutures~> 5.1
RxSwift~> 3.0
 

  • Junior B.

RxBrightFutures

RxBrightFutures 是围绕 BrightFutures 的小型包装,允许通过单函数 rx_observablerx_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 许可证 下发布。