나는이처럼 보이는 무언가가있는 경우 : 나는 그렇게 얼마나관측 대상에서 어떻게 탈퇴합니까?
내가 나중에bar
의 관찰에서
unsubscribe하려면
func foo() -> Observable<Foo> {
return Observable.create { observer in
// ...
}
}
func bar() {
foo().observeOn(MainScheduler.instance)
.subscribeNext {
// ...
}
.addDisposableTo(disposeBag)
}
?
업데이트
내가 dispose
를 호출 할 수 있습니다 알고 있어요,하지만 RxSwift docs에 따라 : 당신은 일반적으로 수동으로 처리를 호출하지 않으
참고; 이것은 단지 교육적인 예일뿐입니다. 수동으로 처리하는 것은 대개 잘못된 코드 냄새입니다.
그럼 unsubscribe
은 구현되지 않았습니까? 나는 RxSwift 코드를 통해 spelunking을했는데, 무슨 일이 벌어지는 지 이해할 수있을 정도로 subscribe 메소드에서 반환되는 Disposable
이 유용한 기능 (처분 제외)이 아닌 것으로 보입니다.
죄송합니다, 나의 단순화 된 예제는 하나만 관찰 할 수 있습니다. 실제로 나는 내가 관찰하고있는 비행 중에 여러 가지 작업을 할 것이고, 나는 일부로부터 선택적으로 탈퇴하고 싶을 것이다. 처분 가방을 풀면 모두 구독 취소됩니다. 나중에 나중에 처분 가방을 필요로 할 것입니다. 또한, 나는'dispose'를 호출 할 수 있지만 docs에 따르면 이것은 나쁜 코드 냄새라는 것을 알고 있습니다. 내 질문에 업데이트 된 텍스트를 참조하십시오. 감사. –
유스 케이스에 따라'takeUntil'은'unsubscribe'와 동일 할 수도 있습니다. 내 업데이트 답변을 참조하십시오. –