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!