1
ReactiveSwift에는 오류가 발생했을 때 이벤트 스트림으로 응답 할 수있는 flatMapError
이라는 훌륭한 기능이 있습니다. 간단한 예는 다음과 같을 수 있습니다.PromiseKit flatMapError
authenticationProducer.flatMapError { _ in self.reauthenticate() }
오류가 발생할 때마다 해당 오류가 재 인증을 시도하는 제작자로 매핑됩니다.
어떻게 PromiseKit을 사용하여 유사한 연산자를 만들 수 있습니까? 지금까지
func flatMapError<U>(_ transform: @escaping (Error) -> Promise<U>) -> Promise<U>
내 구현 : 당신이 요청으로
func flatMapError<U>(_ transform: @escaping (Error) -> Promise<U>) -> Promise<U> {
return Promise<U> { resolve, reject in
self.catch { error in
let promise = transform(error)
let _ = promise.then { value in
resolve(value)
}
}
}
}