【问题标题】:RxSwift Observable does not emit valueRxSwift Observable 不发出值
【发布时间】:2020-04-24 08:51:35
【问题描述】:

我有这个 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)

我传入我的 observable,尤其是在 .next.completed 行中

但在我的订阅中,我没有打印...

【问题讨论】:

  • "i have no prints..." 当然你看不到,因为你打印的是空字符串...
  • 我已经更新了我的代码,以便打印“打印”,但没有成功

标签: ios swift observable rx-swift


【解决方案1】:

这个 observable 没有触发任何传入 subscribe 的块的唯一原因是您的 fetchRegions 函数实际上没有调用完成块。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多