2014-12-15 3 views
0

나는 iterating하는 목록을 가지고 있으며 목록에서 일치하는 항목 만 인쇄하고 싶다. (이것은 사소한 것이지만 rx java에 대한 학습 일 뿐이다.) 나는 그루비 확장을 사용하고있다.rx java observable 일치하는 관찰 가능에 체인을 붙이는 것

def scheduler = Schedulers.immediate() 
    Observable.from(["a","b","c"]).takeFirst({ 
     return it == "b" 
    }).subscribeOn(scheduler).subscribe({println it}) 

이 경우에만 작동하며 예상대로 b을 인쇄합니다. 내가 궁금하고있어 그것이 내가 map 또는 flatmap 사용할 수

def scheduler = Schedulers.immediate() 
    Observable.from(["a","b","c"]).takeFirst({ 
     return it == "b" 
    }).SOMEOPERATIONHERE({println it}).subscribeOn(scheduler) 

같은 것이 그래서 나는 println it-subscribeOn 전에 전화를 이동하지만, 실제로 다른 관찰을 매핑하고 있지 않다 때문이 잘못된 것 같습니다 수 있습니다. 난 그냥 void 체인의 끝에서 관측 가능에 대한 작업을 수행하고 싶습니다,하지만 난 subscribeOn 전화하기 전에 모든 작업을 함께하는 구문을 좋아해.

+1

그럼 doOnNext를 찾고 계십니까? – zsxwing

+0

네, 고마워요. 이것을 답변으로 추가하면 받아 들일 것입니다. –

답변

1

Observable에서 항목을 내보낼 때마다 수행 할 작업을 등록하려면 doOnNext을 사용할 수 있습니다. 또한 doOnCompleted, doOnError과 같이 Observable의 진행 상태를 모니터링하는 작업을 등록하기 위해 RxJava에 다른 doOnXXX 연산자가 있습니다.

관련 문제