rx.Observable.finallyDo()方法的使用及代码示例

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

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

Observable.finallyDo介绍

[英]Registers an Action0 to be called when this Observable invokes either Observer#onCompleted or Observer#onError.

Scheduler: finallyDo does not operate by default on a particular Scheduler.
[中]当此Observable调用Observator#onCompleted或Observator#onError时,注册要调用的Action0。
调度程序:默认情况下,finallyDo不会在特定的调度程序上运行。

代码示例

代码示例来源:origin: leeowenowen/rxjava-examples

  1. @Override
  2. public void run() {
  3. Observable.just(1, 2).finallyDo(new Action0() {
  4. @Override
  5. public void call() {
  6. log("finallyDo");
  7. }
  8. }).subscribe(new Action1<Integer>() {
  9. @Override
  10. public void call(Integer integer) {
  11. log(integer);
  12. }
  13. });
  14. }
  15. });

代码示例来源:origin: Q42/RxPromise

  1. /**
  2. * Add a callback for when the promise is either fulfilled or rejected. This callback cannot be unsubscribed.
  3. */
  4. public Promise<T> onFinally(Action0 finallyDo) {
  5. return new Promise<T>(this.observable.finallyDo(finallyDo));
  6. }

代码示例来源:origin: com.netflix.zuul/zuul-netty

  1. .finallyDo(() -> {
  2. timing.end();
  3. if (stats != null)

代码示例来源:origin: com.netflix.zuul/zuul-servletapi

  1. requestBuiltObs.finallyDo(() -> readTiming.end() );

代码示例来源:origin: io.reactivex/rxnetty

  1. protected Observable<HttpClientResponse<O>> submit(final HttpClientRequest<I> request,
  2. final Observable<ObservableConnection<HttpClientResponse<O>, HttpClientRequest<I>>> connectionObservable,
  3. final ClientConfig config) {
  4. final long startTimeMillis = Clock.newStartTimeMillis();
  5. HttpClientConfig httpClientConfig;
  6. if (config instanceof HttpClientConfig) {
  7. httpClientConfig = (HttpClientConfig) config;
  8. } else {
  9. httpClientConfig = new HttpClientConfig(config);
  10. }
  11. boolean followRedirect = shouldFollowRedirectForRequest(httpClientConfig, request);
  12. enrichRequest(request, httpClientConfig);
  13. Observable<HttpClientResponse<O>> toReturn =
  14. connectionObservable.lift(new RequestProcessingOperator<I, O>(request, eventsSubject,
  15. httpClientConfig.getResponseSubscriptionTimeoutMs()));
  16. if (followRedirect) {
  17. toReturn = toReturn.lift(new RedirectOperator<I, O>(request, this, httpClientConfig));
  18. }
  19. return toReturn.take(1).finallyDo(new Action0() {
  20. @Override
  21. public void call() {
  22. eventsSubject.onEvent(HttpClientMetricsEvent.REQUEST_PROCESSING_COMPLETE,
  23. Clock.onEndMillis(startTimeMillis));
  24. }
  25. });
  26. }

代码示例来源:origin: com.netflix.rxnetty/rx-netty

  1. protected Observable<HttpClientResponse<O>> submit(final HttpClientRequest<I> request,
  2. final Observable<ObservableConnection<HttpClientResponse<O>, HttpClientRequest<I>>> connectionObservable,
  3. final ClientConfig config) {
  4. final long startTimeMillis = Clock.newStartTimeMillis();
  5. HttpClientConfig httpClientConfig;
  6. if (config instanceof HttpClientConfig) {
  7. httpClientConfig = (HttpClientConfig) config;
  8. } else {
  9. httpClientConfig = new HttpClientConfig(config);
  10. }
  11. boolean followRedirect = shouldFollowRedirectForRequest(httpClientConfig, request);
  12. enrichRequest(request, httpClientConfig);
  13. Observable<HttpClientResponse<O>> toReturn =
  14. connectionObservable.lift(new RequestProcessingOperator<I, O>(request, eventsSubject,
  15. httpClientConfig.getResponseSubscriptionTimeoutMs()));
  16. if (followRedirect) {
  17. toReturn = toReturn.lift(new RedirectOperator<I, O>(request, this, httpClientConfig));
  18. }
  19. return toReturn.take(1).finallyDo(new Action0() {
  20. @Override
  21. public void call() {
  22. eventsSubject.onEvent(HttpClientMetricsEvent.REQUEST_PROCESSING_COMPLETE,
  23. Clock.onEndMillis(startTimeMillis));
  24. }
  25. });
  26. }

相关文章

Observable类方法