스크린샷 2024-03-07 오후 2.02.52.png

Empty는 값을 발행하지 않고 선택적으로 즉시 스트림을 종료할 수 있는 퍼블리셔에요.

특징

눈여겨 봐야할 것은 completeImmediately 파라미터에요.

이 파라미터는 기본값으로 true로 설정되어 있지만 false로 설정할 수 있어요.

false로 설정하면 완료 이벤트가 발행되지 않아요.

사용

let emptyPublisher = Empty<Int, Never>(completeImmediately: true)

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

// 결과
finshed
프로그램 종료 (exit 0)