Advertisement
Guest User

async

a guest
Oct 15th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.66 KB | None | 0 0
  1. //Так не раотает
  2. private Observable<Boolean> getLongAction() {
  3.         Callable<Boolean> callable = new Callable<Boolean>() {
  4.             @Override
  5.             public Boolean call() throws Exception {
  6.                 for (int i = 0; i < 16; i++) {
  7.                     try {
  8.                         Thread.sleep(1000);
  9.                     } catch (InterruptedException ex) {
  10.  
  11.                     }
  12.                     Lgi.p("long act in thread: " + Thread.currentThread().getName() + ", i = " + i);
  13.                 }
  14.                 return true;
  15.             }
  16.         };
  17.         return Observable.fromCallable(callable)
  18.                 .subscribeOn(Schedulers.io())
  19.                 .observeOn(AndroidSchedulers.mainThread());
  20.  
  21. //Так работает
  22. private Observable<Boolean> getLongAction2() {
  23.         ObservableOnSubscribe<Boolean> obs = new ObservableOnSubscribe<Boolean>() {
  24.             @Override
  25.             public void subscribe(ObservableEmitter<Boolean> emitter) throws Exception {
  26.                 for (int i = 0; i < 16; i++) {
  27.                     try {
  28.                         Thread.sleep(1000);
  29.                     } catch (InterruptedException ex) {
  30.  
  31.                     }
  32.                     if (emitter.isDisposed()) {
  33.                         return;
  34.                     }
  35.                     Lgi.p("long act in thread: " + Thread.currentThread().getName() + ", i = " + i);
  36.                 }
  37.                 emitter.onNext(true);
  38.             }
  39.         };
  40.         return Observable
  41.                 .create(obs)
  42.                 .subscribeOn(Schedulers.io())
  43.                 .observeOn(AndroidSchedulers.mainThread());
  44.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement