📚 TL; DR
📖 Merge
- 여러개의 스트림을 하나의 스트림으로 합칠 때 사용하는 operator
- 각 스트림에서 이벤트가 발행 된 즉시 합쳐진 스트림에서 이벤트가 발행됨
📖 Concat
- 여러개의 스트림을 하나의 스트림으로 합칠때 사용하는 operator
- 스트림을 합칠 때, 첫번째 인자로 넣은 스트림의 발행이 끝나면 두번째 스트림에서 발행된 데이터의 발행이 시작됨
- 즉, 인자로 넣은 스트림들의 순서를 지켜가며 스트림을 합쳐 발행함
- 첫번째 스트림이 onComplete를 호출하지 않는다면, 두번째 스트림에서 데이터 발행은 이루어 지지 않음
📖 ConcatEager
- 여러개의 스트림을 하나의 스트림으로 사용하는 operator
- 앞 스트림의
onComplete 이벤트가 호출되기 전 뒤 스트림을 미리 구독하여 데이터를 발행 해 놓음
- 앞 스트림의
onComplete 이벤트가 호출되면, 뒤 스트림에서 이미 발행되었던 데이터는 한번에 방출되고, 앞으로 발행할 데이터가 남아 있다면 추가적으로 발행
📖 Zip
- 여러개의 스트림을 하나로 합치는데, 각 스트림에서 발행된 데이터들을 조합하여 새로운 데이터를 만들어 발행하는 operator
- 여러개의 스트림에서 발행된 데이터들의 순서가 짝이 맞아야 데이터가 발행됨
📖 CombineLatest
- zip과 비슷하게 여러개의 스트림을 하나로 합치는데, 각 스트림에서 발행된 데이터들을 조합하여 새로운 데이터를 만들어 발행하는 operator
- zip은 여러개의 스트림에서 발행된 데이터들의 순서가 짝이 맞아야 데이터가 발행되었지만,
combineLatest는 짝이 맞지 않더라도 다른 스트림에서 이전에 발행 되었던 데이터를 활용하여 데이터가 발행됨
📚 합성 연산자