测试已测试 | ✓ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最后发布 | 2017年9月 |
SwiftSwift 版本 | 3.2 |
SPM支持 SPM | ✗ |
由 Fabien Legoupillot、Becky Christensen、Robin Goos、Greg Lee 维护。
依赖 | |
ReactiveSwift | ~> 2.0 |
Alamofire | ~> 4.5 |
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 安装,请在 Podfile 中添加 ReactiveAlamofire
pod 'ReactiveAlamofire', '~> 2.0.0'