관찰자 (예 : "o")는 관찰자가 구독 취소 한 후 일부 상태를 정리해야합니다. the docs에 따르면 "o"위에 구축 된 다른 관찰자의 구독을 취소하면 "o"로 다시 캐스케이드해야합니다.구독 취소가 RxJava에서 기본 관찰 가능으로 복귀하지 않습니다.
이 동작은 일부 예제에서만 작동하는 것 같습니다. 다음 코드에서는 "정리"메시지가 세 번 인쇄되지만 마지막 사례 (o1.throttleLast (...))에서는 그렇지 않습니다.
def o = rx.Observable.create({ subscriber ->
subscriber.add(Subscriptions.create({ println "cleanup" }))
})
o.subscribe({})
.unsubscribe() // prints
o.take(1)
.subscribe({})
.unsubscribe(); // prints
o.throttleLast(1, TimeUnit.MILLISECONDS)
.subscribe({})
.unsubscribe() // doesn't print
아이디어가 있으십니까? 감사.
'throttleLast'의 버그입니다. https://github.com/ReactiveX/RxJava/issues/1958에서 문제를 만들었으며 수정 요청을 보냈습니다. – zsxwing