Slide 6
Slide 6 text
func getAllBlogs() -> SignalProducer<[Blog], NSError> {
return SignalProducer { (sink, disposable) in
let manager = AFHTTPRequestOperationManager()
let url = String(format: "%@/get_all_blogs", self.baseUrl + self.apiRoot)
let operation = manager.GET(url, parameters: [:],
success: { (operation:AFHTTPRequestOperation!, response:AnyObject!) -> Void in
sink.put(.Next(Box(JSON(response).arrayValue.map({ Blog(json: $0) }))))
sink.put(.Completed)
},
failure: { (operation:AFHTTPRequestOperation!, error:NSError!) -> Void in
sink.put(.Error(Box(error)))
})
disposable.addDisposable {
operation.cancel()
}
}