RxJava - MayBe สังเกตได้
คลาส MayBe แสดงถึงการตอบสนองที่รอการตัดบัญชี MayBe สังเกตได้สามารถปล่อยค่าสำเร็จเพียงค่าเดียวหรือไม่มีค่าก็ได้
การประกาศคลาส
ต่อไปนี้เป็นคำประกาศสำหรับ io.reactivex.Single<T> ชั้นเรียน -
public abstract class Maybe<T>
extends Object
implements MaybeSource<T>
มาตรการ
ต่อไปนี้เป็นโปรโตคอลลำดับที่ MayBe Observable ดำเนินการ -
onSubscribe (onSuccess | onError | OnComplete)?
ตัวอย่าง MayBe
สร้างโปรแกรม Java ต่อไปนี้โดยใช้ตัวแก้ไขที่คุณเลือกใน C: \> RxJava
ObservableTester.java
import java.util.concurrent.TimeUnit;
import io.reactivex.Maybe;
import io.reactivex.disposables.Disposable;
import io.reactivex.observers.DisposableMaybeObserver;
import io.reactivex.schedulers.Schedulers;
public class ObservableTester {
public static void main(String[] args) throws InterruptedException {
//Create an observer
Disposable disposable = Maybe.just("Hello World")
.delay(2, TimeUnit.SECONDS, Schedulers.io())
.subscribeWith(new DisposableMaybeObserver<String>() {
@Override
public void onError(Throwable e) {
e.printStackTrace();
}
@Override
public void onSuccess(String value) {
System.out.println(value);
}
@Override
public void onComplete() {
System.out.println("Done!");
}
});
Thread.sleep(3000);
//start observing
disposable.dispose();
}
}
ตรวจสอบผลลัพธ์
รวบรวมคลาสโดยใช้ javac คอมไพเลอร์ดังนี้ -
C:\RxJava>javac ObservableTester.java
ตอนนี้เรียกใช้ ObservableTester ดังนี้ -
C:\RxJava>java ObservableTester
ควรให้ผลลัพธ์ดังต่อไปนี้ -
Hello World