io.reactivex.Single.doOnSubscribe()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(7.6k)|赞(0)|评价(0)|浏览(120)

本文整理了Java中io.reactivex.Single.doOnSubscribe()方法的一些代码示例,展示了Single.doOnSubscribe()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Single.doOnSubscribe()方法的具体详情如下:
包路径:io.reactivex.Single
类名称:Single
方法名:doOnSubscribe

Single.doOnSubscribe介绍

[英]Calls the shared consumer with the Disposable sent through the onSubscribe for each SingleObserver that subscribes to the current Single. Scheduler: doOnSubscribe does not operate by default on a particular Scheduler.
[中]为订阅当前单曲的每个SingleObserver调用通过onSubscribe发送的一次性用户。调度器:默认情况下,doOnSubscribe不会在特定的调度器上运行。

代码示例

代码示例来源:origin: Polidea/RxAndroidBle

Single<RxBleDeviceServices> getDiscoverServicesSingle(final long timeout, final TimeUnit timeoutTimeUnit) {
  if (hasCachedResults) {
    // optimisation to decrease the number of allocations
    return deviceServicesObservable;
  } else {
    return deviceServicesObservable.doOnSubscribe(
        new Consumer<Disposable>() {
          @Override
          public void accept(Disposable disposable) throws Exception {
            timeoutBehaviorSubject.onNext(new TimeoutConfiguration(timeout, timeoutTimeUnit, Schedulers.computation()));
          }
        });
  }
}

代码示例来源:origin: ReactiveX/RxJava

@Test(expected = NullPointerException.class)
public void doOnSubscribeNull() {
  just1.doOnSubscribe(null);
}

代码示例来源:origin: igreenwood/SimpleCropView

/**
 * Crop image with RxJava2
 *
 * @param sourceUri Uri for cropping(If null, the Uri set in loadAsSingle() is used)
 *
 * @return Single of cropping image
 */
public Single<Bitmap> cropAsSingle(final Uri sourceUri) {
 return Single.fromCallable(new Callable<Bitmap>() {
  @Override public Bitmap call() throws Exception {
   if (sourceUri != null) mSourceUri = sourceUri;
   return cropImage();
  }
 }).doOnSubscribe(new Consumer<Disposable>() {
  @Override public void accept(@NonNull Disposable disposable) throws Exception {
   mIsCropping.set(true);
  }
 }).doFinally(new Action() {
  @Override public void run() throws Exception {
   mIsCropping.set(false);
  }
 });
}

代码示例来源:origin: igreenwood/SimpleCropView

/**
 * Save image with RxJava2
 *
 * @param bitmap Bitmap for saving
 * @param saveUri Uri for saving the cropped image
 *
 * @return Single of saving image
 */
public Single<Uri> saveAsSingle(final Bitmap bitmap, final Uri saveUri) {
 return Single.fromCallable(new Callable<Uri>() {
  @Override public Uri call() throws Exception {
   return saveImage(bitmap, saveUri);
  }
 }).doOnSubscribe(new Consumer<Disposable>() {
  @Override public void accept(@NonNull Disposable disposable) throws Exception {
   mIsSaving.set(true);
  }
 }).doFinally(new Action() {
  @Override public void run() throws Exception {
   mIsSaving.set(false);
  }
 });
}

代码示例来源:origin: ReactiveX/RxJava

@Test
public void doOnSubscribe() {
  final int[] count = { 0 };
  Single.never().doOnSubscribe(new Consumer<Disposable>() {
    @Override
    public void accept(Disposable d) throws Exception {
      count[0]++;
    }
  }).test();
  assertEquals(1, count[0]);
}

代码示例来源:origin: ReactiveX/RxJava

@Test
public void doOnSubscribeJustCrash() {
  Single.just(1).doOnSubscribe(new Consumer<Disposable>() {
    @Override
    public void accept(Disposable d) throws Exception {
      throw new TestException();
    }
  })
  .test()
  .assertFailure(TestException.class);
}

代码示例来源:origin: ReactiveX/RxJava

@Test
public void doOnSubscribeNormal() {
  final int[] count = { 0 };
  Single.just(1).doOnSubscribe(new Consumer<Disposable>() {
    @Override
    public void accept(Disposable d) throws Exception {
      count[0]++;
    }
  })
  .test()
  .assertResult(1);
  assertEquals(1, count[0]);
}

代码示例来源:origin: ReactiveX/RxJava

@Test
public void doOnSubscribeError() {
  final int[] count = { 0 };
  Single.error(new TestException()).doOnSubscribe(new Consumer<Disposable>() {
    @Override
    public void accept(Disposable d) throws Exception {
      count[0]++;
    }
  })
  .test()
  .assertFailure(TestException.class);
  assertEquals(1, count[0]);
}

代码示例来源:origin: igreenwood/SimpleCropView

.doOnSubscribe(new Consumer<Disposable>() {
 @Override public void accept(@io.reactivex.annotations.NonNull Disposable disposable)
   throws Exception {

代码示例来源:origin: pockethub/PocketHub

public static <U> SingleTransformer<U, U> bindToLifecycle(Context context, CharSequence message) {
    return upstream -> {
      final MaterialDialog progressDialog = new MaterialDialog.Builder(context)
          .content(message)
          .progress(true, 0)
          .build();

      return upstream
          .doOnSubscribe(disposable -> progressDialog.show())
          .doOnSuccess(u -> progressDialog.dismiss())
          .doOnError(throwable -> progressDialog.dismiss());
    };
  }
}

代码示例来源:origin: ReactiveX/RxJava

@Test
public void doOnSubscribeErrorCrash() {
  List<Throwable> errors = TestHelper.trackPluginErrors();
  try {
    Single.error(new TestException("Outer")).doOnSubscribe(new Consumer<Disposable>() {
      @Override
      public void accept(Disposable d) throws Exception {
        throw new TestException("Inner");
      }
    })
    .test()
    .assertFailureAndMessage(TestException.class, "Inner");
    TestHelper.assertUndeliverable(errors, 0, TestException.class, "Outer");
  } finally {
    RxJavaPlugins.reset();
  }
}

代码示例来源:origin: florent37/RxLifecycle

@Override
public SingleSource<T> apply(@NonNull Single<T> upstream) {
  return upstream.doOnSubscribe(new Consumer<Disposable>() {
    @Override
    public void accept(@NonNull Disposable disposable) throws Exception {
      disposeOnDestroy(disposable);
    }
  });
}

代码示例来源:origin: florent37/RxLifecycle

@Override
public SingleSource<T> apply(@NonNull Single<T> upstream) {
  return upstream.doOnSubscribe(new Consumer<Disposable>() {
    @Override
    public void accept(@NonNull Disposable disposable) throws Exception {
      disposeOnPause(disposable);
    }
  });
}

代码示例来源:origin: florent37/RxLifecycle

@Override
public SingleSource<T> apply(@NonNull Single<T> upstream) {
  return upstream.doOnSubscribe(new Consumer<Disposable>() {
    @Override
    public void accept(@NonNull Disposable disposable) throws Exception {
      disposeOnStop(disposable);
    }
  });
}

代码示例来源:origin: florent37/RxLifecycle

@Override
public SingleSource<T> apply(@NonNull Single<T> upstream) {
  return upstream.doOnSubscribe(new Consumer<Disposable>() {
    @Override
    public void accept(@NonNull Disposable disposable) throws Exception {
      disposeOn(disposeEvent);
    }
  });
}

代码示例来源:origin: d4rken/RxShell

@Override
protected void onPause() {
  super.onPause();
  session.close()
      .doOnSubscribe(d -> session = null)
      .observeOn(AndroidSchedulers.mainThread())
      .subscribe(i -> execute.setVisibility(View.INVISIBLE));
}

代码示例来源:origin: AppStoreFoundation/asf-sdk

public void onCreateChannelButtonClicked(View view) {
 compositeDisposable.add(
   microRaidenBDS.createChannel(senderECKey, receiverAddress, BigInteger.valueOf(10))
     .doOnSubscribe(disposable -> runOnUiThread(
       () -> Toast.makeText(this, "Creating channel", Toast.LENGTH_SHORT)
         .show()))
     .observeOn(AndroidSchedulers.mainThread())
     .doOnSuccess(bdsChannel -> Toast.makeText(this, "Channel Created.", Toast.LENGTH_SHORT)
       .show())
     .subscribeOn(Schedulers.io())
     .subscribe(bdsChannel -> this.bdsChannel = bdsChannel));
}

代码示例来源:origin: matzuk/Clean-multimodel-arch

@SuppressLint("CheckResult")
public void clickToBuyWork() {
  mPurchaseInteractor.makePurchase()
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())
    .doOnSubscribe(disposable -> getViewState().showBuyWork())
    .doOnSuccess(antitheftModel -> getViewState().showBuySuccess())
    .subscribe(antitheftModel -> {}, throwable -> {});
}

代码示例来源:origin: matzuk/Clean-multimodel-arch

@SuppressLint("CheckResult")
public void clickToAtWork() {
  mAntitheftInteractor.doAntitheftWork()
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())
    .doOnSubscribe(disposable -> getViewState().showAtWork())
    .doOnSuccess(antitheftModel -> getViewState().showAtSuccess())
    .subscribe(antitheftModel -> {}, throwable -> {});
}

代码示例来源:origin: matzuk/Clean-multimodel-arch

@SuppressLint("CheckResult")
public void clickToBuyWork() {
  mPurchaseInteractor.makePurchase()
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())
    .doOnSubscribe(disposable -> getViewState().showBuyWork())
    .doOnSuccess(antitheftModel -> getViewState().showBuySuccess())
    .subscribe(antitheftModel -> {}, throwable -> {});
}

相关文章

微信公众号

最新文章

更多