以下是我的代码,用于发出请求并将其绑定到UI元素
func signUpService(_ signUpButtonTap: Observable<Void>, _ userAndPassword: Observable<(String, String)>) -> Observable<Response> {
return signUpButtonTap
.withLatestFrom(userAndPassword)
.flatMapLatest{
input -> Observable<Response> in
return Observable.create { observer in
let userData = Creator()
userData?.username = input.0
userData?.password = input.1
return provider.request(.signUp(userData!)).filter(statusCode: 201).subscribe{ event -> Void in
switch event {
case .next(let response):
observer.onNext(response)
print("Success response", response)
case .error(let error):
let moyaError: MoyaError? = error as? MoyaError
let response: Response? = moyaError?.response
let statusCode: Int? = response?.statusCode
print("Error response", response?.statusCode)
observer.onError(AuthenticationError.server)
default:
break
}
}
}
}.observeOn(MainScheduler.instance)
}
在我看来,我正在做以下
self.viewModel.signedUp?.bind{response in
self.displayPopUpForSuccessfulLogin()
}.addDisposableTo(disposeBag)
}
每当我点击错误块时,应用程序崩溃。它说绑定错误。我无法将错误绑定到UI元素。
如何在Rxswift绑定中处理错误。 如果我从服务器获得零响应,我该如何处理它。
任何帮助将不胜感激。谢谢