RxJava - Có thể quan sát một lần

Lớp Đơn đại diện cho phản hồi giá trị đơn. Có thể quan sát đơn lẻ chỉ có thể phát ra một giá trị thành công duy nhất hoặc một lỗi. Nó không phát ra sự kiện onComplete.

Khai báo lớp học

Sau đây là khai báo cho io.reactivex.Single<T> lớp học -

public abstract class Single<T>
   extends Object
      implements SingleSource<T>

Giao thức

Sau đây là giao thức tuần tự mà Single Observable hoạt động:

onSubscribe (onSuccess | onError)?

Ví dụ đơn

Tạo chương trình Java sau đây bằng cách sử dụng bất kỳ trình soạn thảo nào bạn chọn trong C: \> RxJava.

ObservableTester.java

import java.util.concurrent.TimeUnit;

import io.reactivex.Single;
import io.reactivex.disposables.Disposable;
import io.reactivex.observers.DisposableSingleObserver;
import io.reactivex.schedulers.Schedulers;

public class ObservableTester  {
   public static void main(String[] args)  throws InterruptedException {
      //Create the observable
      Single<String> testSingle = Single.just("Hello World");

      //Create an observer
      Disposable disposable = testSingle
         .delay(2, TimeUnit.SECONDS, Schedulers.io())
         .subscribeWith(
         new DisposableSingleObserver<String>() {

         @Override
         public void onError(Throwable e) { 
            e.printStackTrace();
         }

         @Override
         public void onSuccess(String value) {
            System.out.println(value);
         }
      }); 
      Thread.sleep(3000);
      //start observing
      disposable.dispose();
   }
}

Xác minh kết quả

Biên dịch lớp bằng cách sử dụng javac trình biên dịch như sau -

C:\RxJava>javac ObservableTester.java

Bây giờ hãy chạy ObservableTester như sau:

C:\RxJava>java ObservableTester

Nó sẽ tạo ra kết quả sau:

Hello World