RxSwift:订阅Observable时的额外参数’onError’

RxSwift:订阅Observable时的额外参数’onError’,第1张

概述我有以下代码: let fetcher = DiagnosticFetcher(commandSender: sender)fetcher.fetch() .observeOn(MainScheduler.instance) .subscribe( onNext: { self.store.save(content: $0) }, onError: { 我有以下代码:

let fetcher = DiagnosticFetcher(commandSender: sender)fetcher.fetch()    .observeOn(MainScheduler.instance)    .subscribe(       onNext: { self.store.save(content: 
fetcher.fetch()   .observeOn(MainScheduler.instance)   .subscribe(onNext: { self.store.save(content: 
fetcher.fetch()   .observeOn(MainScheduler.instance)   .subscribe({ self.store.save(content: 
public func subscribe(onNext: ((ElementType) -> VoID)? = nil,onError: ((Swift.Error) -> VoID)? = nil,onCompleted: (() -> VoID)? = nil) -> disposable {
) })
) })
) },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: ) },onError: { _ in self.vIEw.showError("Error")})

结果:调用外部参数标签’onNext:’.和:

编译好.

我觉得我得到了错误的subscribe()实现.我想要那个:

但显然,编译器没有.
我正在使用XCode 9.2和Swift 4以及RxSwift 4.1.1.

我的应用程序中有其他部分使用onNext:onError:在一个可观察的工作区.我不能指出这个电话的不同之处.

有关如何识别问题根源的任何想法?

解决方法 我通过指定onError lambda中的第一个参数来编译它:

总结

以上是内存溢出为你收集整理的RxSwift:订阅Observable时的额外参数’onError’全部内容,希望文章能够帮你解决RxSwift:订阅Observable时的额外参数’onError’所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1016851.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存