- RxJava 教程
- RxJava 首頁
- RxJava 概覽
- RxJava 環境設定
- 可觀察序列
- RxJava 可觀察序列的工作原理
- RxJava 建立可觀察序列
- RxJava Single 可觀察序列
- RxJava Maybe 可觀察序列
- RxJava Completable 可觀察序列
- RxJava 使用 CompositeDisposable
- 運算子
- RxJava 建立運算子
- RxJava 轉換運算子
- RxJava 篩選運算子
- RxJava 組合運算子
- RxJava 實用程式運算子
- RxJava 條件運算子
- RxJava 數學運算子
- RxJava 可連線運算子
- 主題
- RxJava 主題
- RxJava PublishSubject
- RxJava BehaviorSubject
- RxJava ReplaySubject
- RxJava AsyncSubject
- 排程程式
- RxJava 排程程式
- RxJava Trampoline 排程程式
- RxJava NewThread 排程程式
- RxJava Computation 排程程式
- RxJava IO 排程程式
- RxJava From 排程程式
- 其他
- RxJava 緩衝
- RxJava 視窗
- RxJava 有用資源
- RxJava 快速指南
- RxJava 有用資源
- RxJava 討論
RxJava Maybe 可觀察序列
Maybe 類表示延遲的響應。Maybe 可觀察序列可以發出一個成功的單個值或沒有值。
類宣告
以下是 io.reactivex.Single<T> 類的宣告 -
public abstract class Maybe<T>
extends Object
implements MaybeSource<T>
協議
以下是 Maybe 可觀察序列執行的順序協議 -
onSubscribe (onSuccess | onError | OnComplete)?
Maybe 示例
在編輯器中(例如,在 C:\> RxJava 中)使用任意編輯器建立以下 Java 程式。
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
廣告