1
У меня есть две наблюдаемые первые проверки, существует ли AccessToken и если не возвращается тип ошибки NotLoggedIn
. Второй выбирает данные пользователя и должен вызываться, если существует AccessToken в rx_validate
. Однако я не могу понять, как я совмещаю эти наблюдаемые с ошибкой ошибки rx_fetchUserData
ошибок из ответа.Ошибка обработки запросов с использованием RxSwift
Ошибка Enum
enum LoginError: Error {
case NotLoggedIn
case Unknown
case NoConnection
}
наблюдаемыми в ViewModel
// MARK: validate if user is logged in
public func rx_validate() -> Observable<String> {
return Observable.create({ observer in
//Check if AccessToken exist
if let token = AccessToken.current {
observer.onNext(token.authenticationToken)
observer.onCompleted()
} else {
observer.onError(LoginError.NotLoggedIn)
}
return Disposables.create()
})
}
// MARK: Fetch data
public func rx_fetchUserData(token: String) -> Observable<User> {
return Network.provider
.request(.auth(fbToken: token))
.retry(1).debug()
.mapObject(User.self)
}