Skip to content

Instantly share code, notes, and snippets.

@cmc5788
Last active July 10, 2017 03:55
Show Gist options
  • Save cmc5788/5f8c4b9d88c78611bd0c9d225673f065 to your computer and use it in GitHub Desktop.
Save cmc5788/5f8c4b9d88c78611bd0c9d225673f065 to your computer and use it in GitHub Desktop.
Alamofire, Rxified
import Alamofire
import RxSwift
extension DataRequest {
public func observeResponseJSON() -> Observable<Any?> {
let original = self.request!
return Observable.create { observer in
let req = Alamofire.request(original).responseJSON(
queue: Schedulers.ioQueue,
completionHandler: { response in
switch response.result {
case .success(let val):
observer.on(.next(val))
observer.on(.completed)
case .failure(let err):
observer.on(.error(err))
}
})
return Disposables.create { req.cancel() }
}.take(1)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment