Observer의 onNext 메서드에서 소스 observable을 종료하는 가장 좋은 방법은 무엇일까?Observer의 onNext 메서드에서 소스 observable을 종료하는 방법
예를 들어, 유효성 검사가 정상적으로 완료되면 버튼 이벤트가 한 번만 발생하기를 원합니다. 그러나 유효성 검사가 실패하면 버튼 이벤트가 다시 발생할 수 있습니다.
제가 생각할 수있는 것은 아래에 있습니다.
Observable....
.subscribe(new Subscriber(){
public void onNext(T t){
// do something and terminate the Observable
// only when the validate method return true
if (validate(t)){
doSomething(t);
unsubscribe();
}
}
...
});
그러나 onCompleted 이벤트가 필요한 경우 작동하지 않습니다. onNext()
은 또한, 나는 관찰자가 검증의 책임을해야하기 때문에 관찰 가능한이 안 좋은 생각이 될 것으로 그 유효성을 가지고 생각 관찰자의 은 또한, 나는에서 onCompleted()
를 호출 확실하지 않다. 또한, "Hot"Observable의 경우, 관찰자에게 관찰자가있는 경우 유효성 검사가 각 Observer와 다를 수 있습니다.
답변 해 주셔서 감사합니다. 나는 사업자를 알고 있었지만 나는이 아이디어를 얻을 수 없었다. 관찰 대상의 소스는 하나의 객체 였기 때문에 각 관찰자의 다양한 유효성 검사를 처리하기 위해 하나의 관찰 가능 객체를 사용하도록했습니다. 그러나,이 경우, 나는 관찰 대상을 만들 수 있습니다. Rx 사용의 가장 어려운 부분은 유연하게 생각하는 것일 수도 있습니다. 다시 한번 고마워요 !! – otal