无法解决调用错误中的额外参数'onError'

时间:2018-06-03 08:16:44

标签: observable rx-swift

我正在尝试订阅一个可观察的。在调用中出现错误额外参数'onError'的原因是什么? 有人可以帮我调试找到问题。 enter image description here

在我的 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)
    }

1 个答案:

答案 0 :(得分:0)

你可能有一个具有特征的Observable。

对于Observable,您的代码就可以了:

        Observable.of([1,2,3])
        .subscribe(onNext: { (n) in
            //
        }, onError: { (error) in
            //
        }, onCompleted: {
            //
        }, onDisposed: {
            //
        }).disposed(by: disposeBag)

如果观察者具有SingleMaybe特征,则需要另外一种形式:

    Observable.of(1).asSingle()
        .subscribe(onSuccess: { (n) in
            //
        }, onError: { (error) in
            //
        }).disposed(by: disposeBag)