ReactiveAlamofire 3.0.0

ReactiveAlamofire 3.0.0

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

Fabien LegoupillotBecky ChristensenRobin GoosGreg Lee 维护。



 
依赖
ReactiveSwift~> 2.0
Alamofire~> 4.5
 

ReactiveAlamofire

Alamofire 4 集成于 ReactiveSwift

示例

import Alamofire
import ReactiveSwift
import ReactiveAlamofire
import Result

SignalProducer<DataRequest, NoError>.attempt {
    return .success(Alamofire.request("http://httpbin.org/get?foo=bar"))
}
    .responseProducer()  // Make the Request SignalProducer to be a Response SignalProducer
    .parseResponse(DataRequest.jsonResponseSerializer()) // Parse response with JSONResponseSerializer
    .startWithResult { result in
        switch result {
        case .failure(let error):
            print("failed, error=\(error)")
        case .success(let resp):
            print(resp.result.value ?? "No data")
        }
    }

这里会有输出

{
    args =     {
        foo = bar;
    };
    headers =     {
        Accept = "*/*";
        "Accept-Encoding" = "gzip;q=1.0, compress;q=0.5";
        "Accept-Language" = "en-US;q=1.0";
        Host = "httpbin.org";
        "User-Agent" = "Unknown/Unknown (Unknown; OS Version 9.3 (Build 13E5181d))";
    };
    origin = "111.111.111.111";
    url = "http://httpbin.org/get?foo=bar";
}

就是它!

您可以用任何 ResponseSerializer 调用 responseProducer(responseSerializer: ResponseSerializerType) 来解析响应。

使用 CocoaPod 安装

要使用 CocoaPod 安装,请在 Podfile 中添加 ReactiveAlamofire

pod 'ReactiveAlamofire', '~> 2.0.0'