Результат вызова 'subscribe (onNext: onError: onCompleted: onDisposed :)' не используется - PullRequest
0 голосов
/ 14 февраля 2020

Я пытаюсь создать функцию, которая возвращает Observable <(HTTPURLResponse, Any)>, используя RxAlamofire:

func getResponse(credentialData: Credentials, ulr: String)->Observable<(HTTPURLResponse, Any)>{
        let credentialData = "\(credentialData.username):\(credentialData.password)".data(using: String.Encoding(rawValue: String.Encoding.utf8.rawValue))!
        let base64Credentials = credentialData.base64EncodedString()
        let headers = ("Authorization", "Basic \(base64Credentials)")
        let header = HTTPHeaders.init(dictionaryLiteral: headers)

        return Observable.create{ observer in
            requestJSON(.get, ulr, parameters: nil, encoding: JSONEncoding.default, headers: header)
            .subscribe(onNext: { response in
                observer.onNext(response)
                } ,
        onError: { error in
            observer.onError(error)
            })
        return Disposables.create()
        }
    }    
}

, но я получаю следующее предупреждение: -

Результат вызов 'Подписаться (onNext: onError: onCompleted: onDisposed :)' не используется

Как это исправить? После добавления .disposed(by: disposeBag) моя функция не работает.

1 Ответ

0 голосов
/ 14 февраля 2020

Здравствуйте, вы должны добавить свой запрос в DisposeBag:

return Observable.create { observer in
        requestJSON(.get, ulr, parameters: nil, encoding: JSONEncoding.default, headers: header)
            .subscribe(onNext: { response in
                observer.onNext(response)
            }, onError: { error in
                observer.onError(error)
            }).disposed(by: disposeBag)
        return Disposables.create()
    }

Это должно работать.

...