<aside> 📌 목차
</aside>
여러 개의 인풋소스를 묶어서 처리하기
let publisher = [3, 4].publisher
publisher
.prepend(1,2)
.sink(receiveValue: { print($0) })
여기서는 프로토콜 Sequence를 가리킴
let publisher = [3, 4].publisher
publisher
.prepend([1, 2])
.prepend(Set(1...2)) // Set 이므로 순서는 보장되지 않음
.sink(receiveValue: { print($0) })
앞에 시퀀스를 붙여버림
let publisher1 = [3, 4].publisher
let publisher2 = [1, 2].publisher
publisher1
.prepend(publisher2)
.sink(receiveValue: { print($0) })
prepend 에 전달된 Publisher 가 completion 되었을 때!!!!
PassthroughSubject 를 prepend 해보자!
let publisher1 = [3, 4].publisher
let publisher2 = PassthroughSubject<Int, Never>()
publisher1
.prepend(publisher2)
.sink(receiveValue: { print($0)})
publisher2.send(1)
publisher2.send(2)
출력값 : 1, 2
왜? : publisher2 가 complete 되지 않음
해결 : 1, 2, 3, 4 를 출력되게 하려면 PassthroughSubject 를 종료시켜야하므로
`````publisher2.send(completion: .finished)`````
prepend 의 반대라고 생각하면된다.