2016-11-07 2 views
1

다음과 같다고 가정합니다. 관찰 가능한 타임 아웃

Observable.range(1,1000) 
.flatMap(i -> Observable.just(i) 
    .subscribeOn(Schedulers.computation() 
    .map(i2 -> calculate(i2)) 
).subscribe(System.out::println) 

여기에서 I (1000)는 1에서 관찰이 각 숫자()를 계산하는 다른 threads.I에 (큰 mehod)를 이용하여 매핑 된 항목의 일부 금액이 반환 될 때까지 타임 아웃을 설정할 필요가있다.

    시간 제한이 2 초라고합니다.
    나는 2-50 항목에 가입해야합니다. 2 초 타임 아웃을 다시 시작 내에서이 개 항목을 방출하지 않는 경우
    (최소 2 개 항목을 가입하지만 50 이상의 항목해야한다).
    시간 제한 내에서 10 개 항목이 반환되었다고 말하면 나머지 코드는 아무 문제없이 실행됩니다.

Rx Java를 사용하여 어떻게하면됩니까?

답변

0

이것은 timeout()을 사용하는 대신 rx-java에서 buffer()를 사용하여 얻을 수 있습니다.