#36 rxjava: maybe
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
package org.example.ex05;
|
||||
|
||||
import io.reactivex.rxjava3.core.Maybe;
|
||||
import io.reactivex.rxjava3.core.MaybeEmitter;
|
||||
import io.reactivex.rxjava3.core.MaybeObserver;
|
||||
import io.reactivex.rxjava3.core.MaybeOnSubscribe;
|
||||
import io.reactivex.rxjava3.disposables.Disposable;
|
||||
import org.example.utils.DateUtil;
|
||||
import org.example.utils.LogType;
|
||||
import org.example.utils.Logger;
|
||||
|
||||
/**
|
||||
* Maybe 클래스를 이용하여 데이터를 통지하는 예제
|
||||
*/
|
||||
public class MaybeCreateEx {
|
||||
public static void main(String[] args){
|
||||
Maybe<String> maybe = Maybe.create(new MaybeOnSubscribe<String>() {
|
||||
@Override
|
||||
public void subscribe(MaybeEmitter<String> emitter) throws Exception {
|
||||
// emitter.onSuccess(DateUtil.getNowDate());
|
||||
|
||||
emitter.onComplete();
|
||||
}
|
||||
});
|
||||
|
||||
maybe.subscribe(new MaybeObserver<String>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable disposable) {
|
||||
// 아무것도 하지 않음.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSuccess(String data) {
|
||||
Logger.log(LogType.ON_SUCCESS, "# 현재 날짜시각: " + data);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable error) {
|
||||
Logger.log(LogType.ON_ERROR, error);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Logger.log(LogType.ON_COMPLETE);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package org.example.ex05;
|
||||
|
||||
import io.reactivex.rxjava3.core.Maybe;
|
||||
import io.reactivex.rxjava3.core.Single;
|
||||
import org.example.utils.DateUtil;
|
||||
import org.example.utils.LogType;
|
||||
import org.example.utils.Logger;
|
||||
|
||||
public class MaybeFromSingle {
|
||||
public static void main(String[] args){
|
||||
Single<String> single = Single.just(DateUtil.getNowDate());
|
||||
Maybe.fromSingle(single)
|
||||
.subscribe(
|
||||
data -> Logger.log(LogType.ON_SUCCESS, "# 현재 날짜시각: " + data),
|
||||
error -> Logger.log(LogType.ON_ERROR, error),
|
||||
() -> Logger.log(LogType.ON_COMPLETE)
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package org.example.ex05;
|
||||
|
||||
import io.reactivex.rxjava3.core.Maybe;
|
||||
import org.example.utils.LogType;
|
||||
import org.example.utils.Logger;
|
||||
|
||||
public class MaybeJustEx {
|
||||
public static void main(String[] args){
|
||||
// Maybe.just(DateUtil.getNowDate())
|
||||
// .subscribe(
|
||||
// data -> Logger.log(LogType.ON_SUCCESS, "# 현재 날짜시각: " + data),
|
||||
// error -> Logger.log(LogType.ON_ERROR, error),
|
||||
// () -> Logger.log(LogType.ON_COMPLETE)
|
||||
// );
|
||||
|
||||
Maybe.empty()
|
||||
.subscribe(
|
||||
data -> Logger.log(LogType.ON_SUCCESS, data),
|
||||
error -> Logger.log(LogType.ON_ERROR, error),
|
||||
() -> Logger.log(LogType.ON_COMPLETE)
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package org.example.ex05;
|
||||
|
||||
import io.reactivex.rxjava3.core.Maybe;
|
||||
import org.example.utils.DateUtil;
|
||||
import org.example.utils.LogType;
|
||||
import org.example.utils.Logger;
|
||||
|
||||
public class MaybeLambdaEx {
|
||||
public static void main(String[] args){
|
||||
Maybe<String> maybe = Maybe.create(emitter -> {
|
||||
emitter.onSuccess(DateUtil.getNowDate());
|
||||
// emitter.onComplete();
|
||||
});
|
||||
|
||||
maybe.subscribe(
|
||||
data -> Logger.log(LogType.ON_SUCCESS, "# 현재 날짜시각: " + data),
|
||||
error -> Logger.log(LogType.ON_ERROR, error),
|
||||
() -> Logger.log(LogType.ON_COMPLETE)
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user