RxSwift:订阅Observable时的额外参数’onError’
发布时间:2020-12-14 04:58:10 所属栏目:百科 来源:网络整理
导读:我有以下代码: let fetcher = DiagnosticFetcher(commandSender: sender)fetcher.fetch() .observeOn(MainScheduler.instance) .subscribe( onNext: { self.store.save(content: $0) },onError: { self.view.showError("Error") },onCompleted: { log.verbo
我有以下代码:
let fetcher = DiagnosticFetcher(commandSender: sender) fetcher.fetch() .observeOn(MainScheduler.instance) .subscribe( onNext: { self.store.save(content: $0) },onError: { self.view.showError("Error") },onCompleted: { log.verbose("Diagnostic fetched") }) 它不编译:调用中的额外参数’onError’.如果我使用onSuccess或onDoesNotExistButShowTheBug而不是onNext,我会得到同样的错误. fetch()方法返回一个Observable< String> (其最后一个运算符是reduce).似乎subscribe()调用只需要一个lambda: fetcher.fetch() .observeOn(MainScheduler.instance) .subscribe(onNext: { self.store.save(content: $0) }) 结果:调用外部参数标签’onNext:’.和: fetcher.fetch() .observeOn(MainScheduler.instance) .subscribe({ self.store.save(content: $0) }) 编译好. 我觉得我得到了错误的subscribe()实现.我想要那个: public func subscribe(onNext: ((ElementType) -> Void)? = nil,onError: ((Swift.Error) -> Void)? = nil,onCompleted: (() -> Void)? = nil) -> Disposable { 但显然,编译器没有. 我的应用程序中有其他部分使用onNext:onError:在一个可观察的工作区.我不能指出这个电话的不同之处. 有关如何识别问题根源的任何想法? 解决方法
我通过指定onError lambda中的第一个参数来编译它:
fetcher.fetch() .observeOn(MainScheduler.instance) .subscribe( onNext: { self.store.save(content: $0) },onError: { _ in self.view.showError("Error")}) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |