I have one problem and don't know, how to fix this.
In my ViewModel I have got Observable field with value.
self.diseaseDetails = Observable<Disease>.create { (observer) -> Disposable in
_ = SAPI.get().diseases(diseases: 5, success: { (disease) in
observer.on(.next(disease))
observer.on(.completed)
}) { (failedMessage) in
observer.on(.completed)
}
return Disposables.create()
}
And get data from observable like this:
public func getSections() -> Observable<String?> {
return self.details().map { $0.sections }
}
public func getDiagnostics() -> Observable<String?> {
return self.details().map { $0.diagnostics }
}
private func details() -> Observable<Disease> {
return Observable.of(
self.disease.asObservable(),
self.diseaseDetails.take(1)
).merge()
}
But, two request was made in this example. I need only one request for many subscriptions. Any idea?