sink
•
Publisher 가 completion 이벤트를 발행하기 전까지 계속해서(무제한) 값을 구독함.
•
Completion 이벤트 수신시, 구독을 취소 → 메모리 반환
◦
success
◦
failure
▪
Error 타입 정의가능.
→ Publisher 의 에러 타입이 Never 즉, 에러를 발생시킬 수 없다면, completion 파라미터를 생략이 가능하다. 하지만, Publisher 가 에러를 발생시킬 수 있다면 completion 파라미터를 무조건 적으로 구현해주어야한다.
let just = Just("Hello world!")
_ = just.sink(receiveCompletion: {
print("Received completion", $0)
}, receiveValue: {
print("Received Value", $0)
})
//Result
Received Value Hello world!
Received completion finished
Swift
복사