RxSwift:订阅 Observable<String> 时的额外参数 'onError'
RxSwift: Extra argument 'onError' when subscribing on an Observable<String>
我有以下代码:
let fetcher = DiagnosticFetcher(commandSender: sender)
fetcher.fetch()
.observeOn(MainScheduler.instance)
.subscribe(
onNext: { self.store.save(content: [=12=]) },
onError: { self.view.showError("Error") },
onCompleted: { log.verbose("Diagnostic fetched") })
它没有编译:Extra argument 'onError' in call
。如果我使用 onSuccess
或 onDoesNotExistButShowTheBug
而不是 onNext
.
,我会得到同样的错误
fetch()
方法 returns a Observable<String>
(其最后一个运算符是 reduce
)。 subscribe()
调用似乎只需要一个 lambda:
fetcher.fetch()
.observeOn(MainScheduler.instance)
.subscribe(onNext: { self.store.save(content: [=13=]) })
结果:Extraneous argument label 'onNext:' in call
。并且:
fetcher.fetch()
.observeOn(MainScheduler.instance)
.subscribe({ self.store.save(content: [=14=]) })
编译正常。
我觉得我得到了错误的 subscribe()
实现。我想要那个:
public func subscribe(onNext: ((ElementType) -> Void)? = nil,
onError: ((Swift.Error) -> Void)? = nil,
onCompleted: (() -> Void)? = nil) -> Disposable {
但显然,编译器不会。
我正在使用 XCode 9.2 与 Swift 4 和 RxSwift 4.1.1.
我的应用程序中还有其他部分在其工作的可观察对象上使用 onNext:onError:
。我不知道这次通话有什么不同。
关于如何确定问题根源的任何想法?
我通过在 onError
lambda 中指定第一个参数来编译它:
fetcher.fetch()
.observeOn(MainScheduler.instance)
.subscribe(
onNext: { self.store.save(content: [=10=]) },
onError: { _ in self.view.showError("Error")})
添加我的贡献。
我遇到了同样的问题,但就我而言:
recordHeader.albumArray.asObservable()
.subscribe(onNext: { [weak self] value in
self?.populateView(recordHeader: value)
})
.disposed(by: disposeBag)
函数的值类型 "populateView" 与值
的值类型不匹配
我有以下代码:
let fetcher = DiagnosticFetcher(commandSender: sender)
fetcher.fetch()
.observeOn(MainScheduler.instance)
.subscribe(
onNext: { self.store.save(content: [=12=]) },
onError: { self.view.showError("Error") },
onCompleted: { log.verbose("Diagnostic fetched") })
它没有编译:Extra argument 'onError' in call
。如果我使用 onSuccess
或 onDoesNotExistButShowTheBug
而不是 onNext
.
fetch()
方法 returns a Observable<String>
(其最后一个运算符是 reduce
)。 subscribe()
调用似乎只需要一个 lambda:
fetcher.fetch()
.observeOn(MainScheduler.instance)
.subscribe(onNext: { self.store.save(content: [=13=]) })
结果:Extraneous argument label 'onNext:' in call
。并且:
fetcher.fetch()
.observeOn(MainScheduler.instance)
.subscribe({ self.store.save(content: [=14=]) })
编译正常。
我觉得我得到了错误的 subscribe()
实现。我想要那个:
public func subscribe(onNext: ((ElementType) -> Void)? = nil,
onError: ((Swift.Error) -> Void)? = nil,
onCompleted: (() -> Void)? = nil) -> Disposable {
但显然,编译器不会。 我正在使用 XCode 9.2 与 Swift 4 和 RxSwift 4.1.1.
我的应用程序中还有其他部分在其工作的可观察对象上使用 onNext:onError:
。我不知道这次通话有什么不同。
关于如何确定问题根源的任何想法?
我通过在 onError
lambda 中指定第一个参数来编译它:
fetcher.fetch()
.observeOn(MainScheduler.instance)
.subscribe(
onNext: { self.store.save(content: [=10=]) },
onError: { _ in self.view.showError("Error")})
添加我的贡献。
我遇到了同样的问题,但就我而言:
recordHeader.albumArray.asObservable()
.subscribe(onNext: { [weak self] value in
self?.populateView(recordHeader: value)
})
.disposed(by: disposeBag)
函数的值类型 "populateView" 与值
的值类型不匹配