【发布时间】:2018-10-23 11:27:52
【问题描述】:
我有一个问题,不知道如何解决。
在我的 ViewModel 中,我得到了带有值的 Observable 字段。
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()
}
然后像这样从 observable 中获取数据:
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()
}
但是, 在这个例子中提出了两个请求。我只需要一个请求即可获得许多订阅。有什么想法吗?
【问题讨论】: