Fail은 에러와 함께 즉시 데이터 스트림을 종료하는 Publisher에요.

특징

사용

let failPublisher = Fail<Never, CustomError>(error: .customError)

failPublisher
  .sink { completion in
    switch completion {
    case .finished:
      print("finished!")
    case .failure(let error):
      print("error occured: \\(error)")
    }
  } receiveValue: { value in
    print("value received: \\(value)")
  }

// 결과
error occured: customError

기본적으로 Completion이 .failure을 반환하면 데이터 스트림은 즉시 종료돼요.

오로지 에러만을 전달하는 Publisher라고 보면 돼요.