我有这个Observable:
func getCategories() -> Observable<[LKCategory]>{
return Observable<[LKCategory]>.create { observer -> Disposable in
self.storeHandler.fetchRegions(forStoreID: self.storeID) { (regions, error) in
if let uwError = error {
observer.on(.error(uwError))
}else {
observer.on(.next(regions?.map{ self.regionToCategory(region: $0) } ?? [LKCategory]()))
observer.on(.completed)
}
}
return Disposables.create()
}
}
而且我这样订阅:
self.getCategories()
.subscribe(onNext: { (cat) in
print("print")
}, onError: { (error) in
print("print")
}, onCompleted: {
print("print")
}, onDisposed: {
print("print")
}).disposed(by: self.disposeBag)
我进入了可观察范围,尤其是在.next
和.completed
行中
但是在我的订阅中,我没有印刷品...
此可观察的结果不触发订阅中传递的任何块的唯一原因是您的fetchRegions
函数实际上并未调用完成块。