Slide 28
Slide 28 text
ྫɿAsyncActionCreaotr with API
public class RequestSampleActionCreator {
private let request: SampleRequestable
public init(request: SampleRequestable) {
self.request = request
}
public func getLatestVersion(disposeBag: DisposeBag) -> Store.AsyncActionCreator {
return { [weak self] (state, store, callback) in
callback { _, _ in RequestSampleRequestStartAction() }
self?.request.get(parameters: RequestSampleParameter())
.subscribe( onSuccess: {
let action = RequestSampleResultAction(response: $0)
callback { _, _ in action }
},
onError: {
let action = RequestSampleErrorAction(error: $0)
callback { _, _ in action }
})
.disposed(by: disposeBag)
}
}
}