replaceError는 업스트림 Publisher가 에러를 발생시킬 때 이를 지정한 값으로 대체하는 Publisher에요.

다른 종류의 Publisher를 새롭게 리턴하는게 아니라 값만 변경하여 다음 진행으로 넘겨요.

기능

사용

enum MyError: Error {
  case timeoutError
}

let failPublisher = Fail<String, MyError>(error: .timeoutError)

failPublisher
  .replaceError(with: "Hi!")
  .sink { value in
    print(value)
  }
  .store(in: &cancellables)
  
  
// 결과
Hi!