我正在尝试订阅一个可观察的。在调用中出现错误额外参数'onError'的原因是什么? 有人可以帮我调试找到问题。
在我的 ViewModel
中func loadImages() {
return dataController.fetchStatusCodeImages()
.subscribe(
onNext: { images in
self.imagesDataSource.value = images
},
onError: { error in
print("observer error")
//empty - handle error cases here
if let err = error as? NetworkError {
switch err {
case .invalidURL:
self.isInvalid.value = true
case .emptyResponse:
self.isInvalid.value = true
}
}
//error cases
}, onCompleted: {
print("completed")
}, onDisposed: {
}).disposed(by: disposeBag)
}
并在 dataController
中func loadImages() {
return dataController.fetchStatusCodeImages()
.subscribe(
onNext: { images in
self.imagesDataSource.value = images
},
onError: { error in
print("observer error")
//empty - handle error cases here
if let err = error as? NetworkError {
switch err {
case .invalidURL:
self.isInvalid.value = true
case .emptyResponse:
self.isInvalid.value = true
}
}
//error cases
}, onCompleted: {
print("completed")
}, onDisposed: {
}).disposed(by: disposeBag)
}
答案 0 :(得分:0)
你可能有一个具有特征的Observable。
对于Observable
,您的代码就可以了:
Observable.of([1,2,3])
.subscribe(onNext: { (n) in
//
}, onError: { (error) in
//
}, onCompleted: {
//
}, onDisposed: {
//
}).disposed(by: disposeBag)
如果观察者具有Single
或Maybe
特征,则需要另外一种形式:
Observable.of(1).asSingle()
.subscribe(onSuccess: { (n) in
//
}, onError: { (error) in
//
}).disposed(by: disposeBag)