묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Kevin의 알기 쉬운 RxJava 1부
Single과 관련해 여쭤보고 싶은 부분이 있습니다!
안녕하세요 선생님! 틈틈이 강의 잘 듣고 있습니다.강의 수강 도중, 궁금한 점이 있어 질문드립니다! Single은 전통적인 client - server 방식의 요청을 처리하는 데 사용한다고 말씀해주셨습니다.실제로 회사에서 single.blocking() 이런 방식으로 처리하는 코드를 본 적이 있는데, single을 해당 의도처럼 사용할 경우, 동기처리 방식에 비해 얻는 이점이 있을까요??제가 아직 생각하기로는 코드는 리액티브이지만 비동기 방식으로 처리하는 것이 아닌 거 같아서요! 또한 강의 영상 3분 정도에서 보여주신 SingleCreateExample 코드에서, 발행자인 Single의 create 메소드의 파라미터인 SingleOnSubscribe<T>가 구현하고 있는 subscribe가 아래 구독자가 구독하는 subscribe() 와 같은 함수가 맞을까요?코드적으로는 둘이 연관이 있어 보여서, SingleObserver<T>와 SingleEmitter<T> 사이의 같은 부모가 있는지 확인 해보았는데 그것두 아니더라구요 ㅠ... 둘이 아예 다른 메소드 인가요??4. 코드를 살펴보다가 RxJavaHooks 라는 유틸성 클래스를 발견하게 되었는데, 함수형 인터페이스들이 막 정의되어 있는 것은 알겠는데 어떻게 해석해야 할 지가 감이 안 잡히더라구요 ㅠㅠ... 혹시 코드를 해석하는데 조언을 주실 수 잇으실까요?..항상 깊게 답변 해주셔서 감사드립니다 :)
-
미해결Kevin의 알기 쉬운 RxJava 1부
CompletableObserver 클래스의 람다식 표현관련
안녕하세요람다식은 인터페이스안에 구현해야할 메소드가 하나만 있을때 사용 가능한것으로 알고있는데completable.subscribeOn(Schedulers.computation()) .subscribe(new CompletableObserver() { @Override public void onSubscribe(Disposable disposable) { // 아무것도 하지 않음 } @Override public void onComplete() { Logger.log(LogType.ON_COMPLETE); } @Override public void onError(Throwable error) { Logger.log(LogType.ON_ERROR, error); } });여기서 CompletableObserver 는 오버라이드 해야할 메소드가 3개나 있는데 어떤 원리로 completable.subscribeOn(Schedulers.computation()) .subscribe( () -> Logger.log(LogType.ON_COMPLETE), error -> Logger.log(LogType.ON_ERROR, error) );이런식으로 람다표현이 가능한건가요?
-
미해결Kevin의 알기 쉬운 RxJava 1부
1강에 예시로 보여주신 ToDoSample 코드에 관해 질문 드립니다!
안녕하세요! 이제 막 RxJava를 배우기 시작하였습니다 ㅎㅎ1강 14:20초 즈음에 예시로 보여주신 ToDoSample.class코드에 대해 질문 드립니다.java app은 main thread가 종료되어도 다른 non-deamon thread가 실행 중이면 app이 종료되지 않는 것으로 알고 있는데,subscribeOn( Schedulers.io() ) 메소드 실행 시, 다른 thread 가 시작하기도 전에 main thread가 종료되어, 실행 중인 thread가 없어져 app이 종료되었다고 파악해야 할까요??subscribeOn( Schedulers.io() ) 메소드를 실행하였음에도 왜 다른 스레드가 실행이 바로 되지 않는 걸까요??