사용자는 구독하는 주제에 따라 알림을받을 수있는 앱을 가지고 있습니다. 워크 플로는 다음과 같습니다 : 실행 중 RxJava 스트림 수정하기
- 사용자 로그를 모든 네트워크 요청 직렬화된다. 나는 정확한 주제/탈퇴 가입 할려고하고있는 무슨 초기에 알았다면, 나는 스트림 아래와 같이 쓸 수있다 :
loginObservable.subscribeOn(Schedulers.io()) .flatMap(user -> registerApp(appId)) .flatMap(o -> subscribeToTopic("topic1")) .flatMap(o -> unsubscribeFromTopic("topic2")) .observeOn(AndroidSchedulers.mainThread()) .subscribe()
것은 사용자도 가능, 응용 프로그램 수명주기의 모든 지점에서/탈퇴를 구독 할 수 있다는 것입니다 등록이 성공하기 전에. 내가 관찰 할 수있는 목록을 유지하고
onComplete()
에 손으로 모든 요청을 직렬화 할 수는 있지만 매우 Rx-ish로 들리지는 않습니다. 내가 더 간결한 방법으로 그것을 할 수있는 기회? 다음과 같이 입력하십시오 :observable = loginObservable.subscribeOn(Schedulers.io()) .flatMap(user -> registerApp(appId)) .observeOn(AndroidSchedulers.mainThread()) .subscribe() //later observable.flatMap(o -> subscribeToTopic("topic1")) .subscribe() //even later observable.flatMap(o -> unsubscribeFromTopic("topic2")) .subscribe()
필요가 없습니다 사실, 난 그냥 질문을 편집 : UI의 상호 작용이
'switchMap'을'flatMap'으로 대체하십시오. – mbonnin앱이 알림 서비스에 등록되기 전에 발생하는 UI 상호 작용을 처리합니까? 나는 ReplaySubject를 사용할 생각이었다. – mbonnin