не удается разрешить дополнительный аргумент 'onError' в ошибке вызова - PullRequest
0 голосов
/ 03 июня 2018

Я пытаюсь подписаться на наблюдаемое.В чем может быть причина ошибки Дополнительный аргумент '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 голосов
/ 08 июня 2018

У вас может быть наблюдаемое с чертой.

Для 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)
...