반응형
empty
빈 Flowable/Observable을 생성하는 연산자로, 처리를 시작하면 바로 onComplete를 통지한다.
empty 메서드는 단독으로 거의 사용하지 않고 flatMap 메서드의 데이터가 null일 때 이를 대신해 empty 메서드를 생성하여 데이터를 통지 대상에게 재외하는 작업을 할 수 있다.
public class Main {
public static void main(String[] args) throws Exception {
empty();
}
static void empty() throws Exception {
Flowable.empty().subscribe(new PrintSubscriber<>());
}
}
[Subscribe 코드]
import io.reactivex.subscribers.DisposableSubscriber;
public class PrintSubscriber<T> extends DisposableSubscriber<T> {
private String label;
public PrintSubscriber() {
}
public PrintSubscriber(String label) {
this.label = label;
}
@Override
public void onNext(T data) {
String threadName = Thread.currentThread().getName();
String resultMsg = label == null ? (threadName + " : " + data) : (threadName + " : "+ label + " : "+ data);
System.out.println(resultMsg);
}
@Override
public void onError(Throwable throwable) {
String threadName = Thread.currentThread().getName();
String resultMsg = label == null ? (threadName + " : Exception=" + throwable) : (threadName + " : "+ label + " : "+ throwable);
System.out.println(resultMsg);
}
@Override
public void onComplete() {
String threadName = Thread.currentThread().getName();
String resultMsg = label == null ? (threadName + " : Complete") : (threadName + " : "+ label + " : Complete");
System.out.println(resultMsg);
}
}
[결과]
main : Complete
반응형
'Language > Java' 카테고리의 다른 글
[RxJava] map (0) | 2023.04.26 |
---|---|
[RxJava] never (0) | 2023.04.26 |
[RxJava] defer (0) | 2023.04.26 |
[RxJava] timer (0) | 2023.04.26 |
[RxJava] interval (0) | 2023.04.26 |