seoft

[Rx,Kotlin] zip 연산자로 복수개(list)의 single 결합 본문

android

[Rx,Kotlin] zip 연산자로 복수개(list)의 single 결합

seoft 2020. 7. 13. 22:57

zip 연산자를 통해 Observable을 동시에 실행하고 결과값을 받아 처리할 수 있다.

 



이때 FunctionN 은 ~9 까지 지원하는데

 


만약 Observable이 컴파일단에 정해지지 않고 동적으로 할당되거나 갯수가 10개가 넘는 경우에는 위와 같은 방법으로 어려울 수 있고

다음과 같은 방법으로 사용할 수 있다.


Observable(single) 자체로 구성된 리스트를 zip에 넣고, zip 내에서는 array로 받아 사용할 수 있다.

만약 Any타입으로 zip 내에서 사용되기 때문에 타입변환 등 타입에 대해 민감 할 경우 future를 사용하는 방법도 있다.



기존의 single 리스트를 toFuture시키면서 일괄 진행시키고, 합쳐야 될 상황에 get으로 비동기가 완료되고 반환된 값을 받아 처리할 수 있다. 

Comments