为啥使用 responseWith 方法?
Posted
技术标签:
【中文标题】为啥使用 responseWith 方法?【英文标题】:Why use the responseWith method?为什么使用 responseWith 方法? 【发布时间】:2019-07-06 18:05:49 【问题描述】:在阅读RXAlamofire源码的过程中,有一个地方我不是很了解。
既然这个方法是创建DataRequest的可观察对象,为什么要调用responseWith方法呢?
func request<R: RxAlamofireRequest>(_ createRequest: @escaping (SessionManager) throws -> R) -> Observable<R>
return Observable.create observer -> Disposable in
let request: R
do
request = try createRequest(self.base)
observer.on(.next(request))
request.responseWith(completionHandler: response in
if let error = response.error
observer.on(.error(error))
else
observer.on(.completed)
)
if !self.base.startRequestsImmediately
request.resume()
return Disposables.create
request.cancel()
catch
observer.on(.error(error))
return Disposables.create()
【问题讨论】:
请阅读How to Ask。您的标题提供的关于您的问题的信息几乎为零。 【参考方案1】:我相信 RXAlamofire 的作者将此作为他们的惯例。如果您查看那里的请求implementation,所有请求方法都返回方法responseXYZ 的结果。响应方法通常执行请求并响应某些内容(JSON、String 等)。听起来有点混乱,但有点像这个请求,一些数据会响应某些内容。
【讨论】:
以上是关于为啥使用 responseWith 方法?的主要内容,如果未能解决你的问题,请参考以下文章
053_Servlet——resp.getWrite()与resp.getPrint()的区别?
使用 gcc (resp. MinGW) 编译器的 C 中函数的参数数量是不是有上限?