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

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

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

Observable.toFlowable介绍

[英]Converts the current Observable into a Flowable by applying the specified backpressure strategy.

Marble diagrams for the various backpressure strategies are as follows:

  • BackpressureStrategy#BUFFER
  • BackpressureStrategy#DROP
  • BackpressureStrategy#LATEST
  • BackpressureStrategy#ERROR
  • BackpressureStrategy#MISSING
    Backpressure: The operator applies the chosen backpressure strategy of BackpressureStrategy enum. Scheduler: toFlowable does not operate by default on a particular Scheduler.
    [中]通过应用指定的背压策略,将当前的可观测值转换为可流动值。
    各种背压策略的大理石图如下:
    *背压平衡#缓冲器
    *背压平衡#下降
    *背压策略#最新
    *背压平衡误差
    *背压平衡#缺失
    背压:操作员应用选择的背压策略BackpressureStragy enum。Scheduler:toFlowable默认情况下不会在特定的计划程序上运行。

代码示例

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

  1. @Override
  2. public Flowable<Integer> apply(Observable<Integer> v) {
  3. return v.toFlowable(BackpressureStrategy.MISSING);
  4. }
  5. })

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

  1. @Override
  2. public Flowable<Integer> apply(Observable<Integer> upstream) {
  3. return upstream.toFlowable(BackpressureStrategy.MISSING);
  4. }

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

  1. @Override
  2. public Publisher<T> apply(Flowable<T> upstream) {
  3. return upstream.takeUntil(observable.toFlowable(BackpressureStrategy.LATEST));
  4. }

代码示例来源:origin: kaushikgopal/RxJava-Android-Samples

  1. @Override
  2. public View onCreateView(
  3. LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
  4. View layout = inflater.inflate(R.layout.fragment_form_validation_comb_latest, container, false);
  5. unbinder = ButterKnife.bind(this, layout);
  6. _emailChangeObservable =
  7. RxTextView.textChanges(_email).skip(1).toFlowable(BackpressureStrategy.LATEST);
  8. _passwordChangeObservable =
  9. RxTextView.textChanges(_password).skip(1).toFlowable(BackpressureStrategy.LATEST);
  10. _numberChangeObservable =
  11. RxTextView.textChanges(_number).skip(1).toFlowable(BackpressureStrategy.LATEST);
  12. _combineLatestEvents();
  13. return layout;
  14. }

代码示例来源:origin: jeasonlzy/okhttp-OkGo

  1. @Override
  2. public Flowable<Response<T>> adapt(Call<T> call, AdapterParam param) {
  3. ObservableResponse<T> observable = new ObservableResponse<>();
  4. return observable.adapt(call, param).toFlowable(BackpressureStrategy.LATEST);
  5. }
  6. }

代码示例来源:origin: jeasonlzy/okhttp-OkGo

  1. @Override
  2. public Flowable<Result<T>> adapt(Call<T> call, AdapterParam param) {
  3. ObservableResult<T> observable = new ObservableResult<>();
  4. return observable.adapt(call, param).toFlowable(BackpressureStrategy.LATEST);
  5. }
  6. }

代码示例来源:origin: jeasonlzy/okhttp-OkGo

  1. @Override
  2. public Flowable<T> adapt(Call<T> call, AdapterParam param) {
  3. ObservableBody<T> observable = new ObservableBody<>();
  4. return observable.adapt(call, param).toFlowable(BackpressureStrategy.LATEST);
  5. }
  6. }

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

  1. @Test
  2. public void dispose() {
  3. TestHelper.checkDisposed(Observable.just(1).toFlowable(BackpressureStrategy.MISSING));
  4. }

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

  1. @Test
  2. public void dispose() {
  3. TestHelper.checkDisposed(Observable.just(1).toFlowable(BackpressureStrategy.ERROR));
  4. }

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

  1. @Test
  2. public void badRequest() {
  3. TestHelper.assertBadRequestReported(Observable.just(1).toFlowable(BackpressureStrategy.ERROR));
  4. }

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

  1. @Test
  2. public void toFlowableError2() {
  3. Observable.range(1, 5)
  4. .toFlowable(BackpressureStrategy.ERROR)
  5. .test(5)
  6. .assertResult(1, 2, 3, 4, 5);
  7. }

代码示例来源:origin: square/retrofit

  1. return observable.toFlowable(BackpressureStrategy.LATEST);

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

  1. @Test
  2. public void toFlowableError1() {
  3. Observable.range(1, 5)
  4. .toFlowable(BackpressureStrategy.ERROR)
  5. .test(1)
  6. .assertFailure(MissingBackpressureException.class, 1);
  7. }

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

  1. @Test
  2. public void toFlowableDrop() {
  3. Observable.range(1, 5)
  4. .toFlowable(BackpressureStrategy.DROP)
  5. .test(1)
  6. .assertResult(1);
  7. }

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

  1. @Test
  2. public void toFlowableLatest() {
  3. TestSubscriber<Integer> ts = Observable.range(1, 5)
  4. .toFlowable(BackpressureStrategy.LATEST)
  5. .test(0);
  6. ts.request(1);
  7. ts
  8. .assertResult(5);
  9. }

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

  1. @Test
  2. public void error() {
  3. Observable.error(new TestException())
  4. .toFlowable(BackpressureStrategy.MISSING)
  5. .test()
  6. .assertFailure(TestException.class);
  7. }
  8. }

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

  1. @Test
  2. public void toFlowableMissing() {
  3. TestSubscriber<Integer> ts = Observable.range(1, 5)
  4. .toFlowable(BackpressureStrategy.MISSING)
  5. .test(0);
  6. ts.request(2);
  7. ts
  8. .assertResult(1, 2, 3, 4, 5);
  9. }
  10. }

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

  1. @Test
  2. public void toFlowableBuffer() {
  3. Observable.range(1, 5)
  4. .toFlowable(BackpressureStrategy.BUFFER)
  5. .test(2L)
  6. .assertValues(1, 2)
  7. .assertNoErrors()
  8. .assertNotComplete();
  9. }

代码示例来源:origin: spring-projects/spring-framework

  1. @Test
  2. public void emptyBodyWithRxJava2Observable() throws Exception {
  3. ResolvableType type = httpEntityType(io.reactivex.Observable.class, String.class);
  4. HttpEntity<io.reactivex.Observable<String>> entity = resolveValueWithEmptyBody(type);
  5. StepVerifier.create(entity.getBody().toFlowable(BackpressureStrategy.BUFFER))
  6. .expectNextCount(0)
  7. .expectComplete()
  8. .verify();
  9. }

代码示例来源:origin: spring-projects/spring-framework

  1. void registerAdapters(ReactiveAdapterRegistry registry) {
  2. registry.registerReactiveType(
  3. ReactiveTypeDescriptor.multiValue(io.reactivex.Flowable.class, io.reactivex.Flowable::empty),
  4. source -> (io.reactivex.Flowable<?>) source,
  5. Flowable::fromPublisher
  6. );
  7. registry.registerReactiveType(
  8. ReactiveTypeDescriptor.multiValue(io.reactivex.Observable.class, io.reactivex.Observable::empty),
  9. source -> ((io.reactivex.Observable<?>) source).toFlowable(BackpressureStrategy.BUFFER),
  10. source -> io.reactivex.Flowable.fromPublisher(source).toObservable()
  11. );
  12. registry.registerReactiveType(
  13. ReactiveTypeDescriptor.singleRequiredValue(io.reactivex.Single.class),
  14. source -> ((io.reactivex.Single<?>) source).toFlowable(),
  15. source -> io.reactivex.Flowable.fromPublisher(source).toObservable().singleElement().toSingle()
  16. );
  17. registry.registerReactiveType(
  18. ReactiveTypeDescriptor.singleOptionalValue(io.reactivex.Maybe.class, io.reactivex.Maybe::empty),
  19. source -> ((io.reactivex.Maybe<?>) source).toFlowable(),
  20. source -> io.reactivex.Flowable.fromPublisher(source).toObservable().singleElement()
  21. );
  22. registry.registerReactiveType(
  23. ReactiveTypeDescriptor.noValue(io.reactivex.Completable.class, io.reactivex.Completable::complete),
  24. source -> ((io.reactivex.Completable) source).toFlowable(),
  25. source -> io.reactivex.Flowable.fromPublisher(source).toObservable().ignoreElements()
  26. );
  27. }
  28. }

相关文章

Observable类方法