io.reactivex.Observable.doAfterTerminate()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(4.8k)|赞(0)|评价(0)|浏览(133)

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

Observable.doAfterTerminate介绍

[英]Registers an Action to be called when this ObservableSource invokes either Observer#onComplete or Observer#onError.

Scheduler: doAfterTerminate does not operate by default on a particular Scheduler.
[中]注册当此ObservateSource调用Observator#onComplete或Observator#onError时要调用的操作。
Scheduler:doAfterTerminate默认情况下不会在特定的计划程序上运行。

代码示例

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

  1. @Test(expected = NullPointerException.class)
  2. public void doAfterTerminateNull() {
  3. just1.doAfterTerminate(null);
  4. }

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

  1. private void checkActionCalled(Observable<String> input) {
  2. input.doAfterTerminate(aAction0).subscribe(observer);
  3. try {
  4. verify(aAction0, times(1)).run();
  5. } catch (Throwable e) {
  6. throw ExceptionHelper.wrapOrThrow(e);
  7. }
  8. }

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

  1. }).doAfterTerminate(new Action() {

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

  1. @Test
  2. public void onCompleteAfter() {
  3. final int[] call = { 0 };
  4. Observable.just(1)
  5. .doAfterTerminate(new Action() {
  6. @Override
  7. public void run() throws Exception {
  8. call[0]++;
  9. }
  10. })
  11. .test()
  12. .assertResult(1);
  13. assertEquals(1, call[0]);
  14. }

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

  1. @Test
  2. public void onErrorAfterCrash() {
  3. List<Throwable> errors = TestHelper.trackPluginErrors();
  4. try {
  5. Observable.wrap(new ObservableSource<Object>() {
  6. @Override
  7. public void subscribe(Observer<? super Object> observer) {
  8. observer.onSubscribe(Disposables.empty());
  9. observer.onError(new TestException());
  10. }
  11. })
  12. .doAfterTerminate(new Action() {
  13. @Override
  14. public void run() throws Exception {
  15. throw new IOException();
  16. }
  17. })
  18. .test()
  19. .assertFailure(TestException.class);
  20. TestHelper.assertUndeliverable(errors, 0, IOException.class);
  21. } finally {
  22. RxJavaPlugins.reset();
  23. }
  24. }

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

  1. @Test
  2. public void onCompleteAfterCrash() {
  3. List<Throwable> errors = TestHelper.trackPluginErrors();
  4. try {
  5. Observable.wrap(new ObservableSource<Object>() {
  6. @Override
  7. public void subscribe(Observer<? super Object> observer) {
  8. observer.onSubscribe(Disposables.empty());
  9. observer.onComplete();
  10. }
  11. })
  12. .doAfterTerminate(new Action() {
  13. @Override
  14. public void run() throws Exception {
  15. throw new IOException();
  16. }
  17. })
  18. .test()
  19. .assertResult();
  20. TestHelper.assertUndeliverable(errors, 0, IOException.class);
  21. } finally {
  22. RxJavaPlugins.reset();
  23. }
  24. }

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

  1. @Test
  2. public void onErrorAfterCrashConditional() {
  3. List<Throwable> errors = TestHelper.trackPluginErrors();
  4. try {
  5. Observable.wrap(new ObservableSource<Object>() {
  6. @Override
  7. public void subscribe(Observer<? super Object> observer) {
  8. observer.onSubscribe(Disposables.empty());
  9. observer.onError(new TestException());
  10. }
  11. })
  12. .doAfterTerminate(new Action() {
  13. @Override
  14. public void run() throws Exception {
  15. throw new IOException();
  16. }
  17. })
  18. .filter(Functions.alwaysTrue())
  19. .test()
  20. .assertFailure(TestException.class);
  21. TestHelper.assertUndeliverable(errors, 0, IOException.class);
  22. } finally {
  23. RxJavaPlugins.reset();
  24. }
  25. }

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

  1. @Test
  2. public void onCompleteAfterCrashConditional() {
  3. List<Throwable> errors = TestHelper.trackPluginErrors();
  4. try {
  5. Observable.wrap(new ObservableSource<Object>() {
  6. @Override
  7. public void subscribe(Observer<? super Object> observer) {
  8. observer.onSubscribe(Disposables.empty());
  9. observer.onComplete();
  10. }
  11. })
  12. .doAfterTerminate(new Action() {
  13. @Override
  14. public void run() throws Exception {
  15. throw new IOException();
  16. }
  17. })
  18. .filter(Functions.alwaysTrue())
  19. .test()
  20. .assertResult();
  21. TestHelper.assertUndeliverable(errors, 0, IOException.class);
  22. } finally {
  23. RxJavaPlugins.reset();
  24. }
  25. }

代码示例来源:origin: JessYanCoding/RetrofitUrlManager

  1. @Override
  2. public ObservableSource<T> apply(Observable<T> upstream) {
  3. return upstream.subscribeOn(Schedulers.io())
  4. .doOnSubscribe(new Consumer<Disposable>() {
  5. @Override
  6. public void accept(Disposable disposable) throws Exception {
  7. mProgressDialog.show();
  8. }
  9. })
  10. .subscribeOn(AndroidSchedulers.mainThread())
  11. .observeOn(AndroidSchedulers.mainThread())
  12. .doAfterTerminate(new Action() {
  13. @Override
  14. public void run() throws Exception {
  15. mProgressDialog.dismiss();
  16. }
  17. });
  18. }
  19. };

代码示例来源:origin: JessYanCoding/WideEyes

  1. @Override
  2. public Observable<T> apply(Observable<T> observable) {
  3. return observable.subscribeOn(Schedulers.io())
  4. .doOnSubscribe(new Consumer<Disposable>() {
  5. @Override
  6. public void accept(@NonNull Disposable disposable) throws Exception {
  7. view.showLoading();//显示进度条
  8. }
  9. })
  10. .subscribeOn(AndroidSchedulers.mainThread())
  11. .observeOn(AndroidSchedulers.mainThread())
  12. .doAfterTerminate(new Action() {
  13. @Override
  14. public void run() throws Exception {
  15. view.hideLoading();//隐藏进度条
  16. }
  17. });
  18. }
  19. };

代码示例来源:origin: laizimo/richeditor

  1. .doAfterTerminate(new Action() {
  2. @Override
  3. public void run() throws Exception {

代码示例来源:origin: 0xm1nam0/RxCore

  1. compositeDisposable.add(model.getPage(page)
  2. .compose(BaseRxActivity().handleResult())
  3. .doAfterTerminate(() -> {
  4. if (page == PAGEBEGIN) {
  5. ptrFrame.refreshComplete();

相关文章

Observable类方法