io.reactivex.Flowable.as()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(7.2k)|赞(0)|评价(0)|浏览(279)

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

Flowable.as介绍

[英]Calls the specified converter function during assembly time and returns its resulting value.

This allows fluent conversion to any other type. Backpressure: The backpressure behavior depends on what happens in the converter function. Scheduler: as does not operate by default on a particular Scheduler.
[中]在汇编期间调用指定的转换器函数并返回其结果值。
这允许流畅地转换为任何其他类型。背压:背压行为取决于转换器功能中发生的情况。调度程序:默认情况下,as不会在特定调度程序上运行。

代码示例

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

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

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

  1. @SuppressWarnings({ "rawtypes", "unchecked" })
  2. @Test
  3. public void flowableGenericsSignatureTest() {
  4. A<String, Integer> a = new A<String, Integer>() { };
  5. Flowable.just(a).as((FlowableConverter)ConverterTest.<String>testFlowableConverterCreator());
  6. }

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

  1. @Test
  2. public void testAsExtend() {
  3. final TestSubscriber<Object> subscriber = new TestSubscriber<Object>();
  4. final Object value = new Object();
  5. Object returned = Flowable.just(value).as(new FlowableConverter<Object, Object>() {
  6. @Override
  7. public Object apply(Flowable<Object> onSubscribe) {
  8. onSubscribe.subscribe(subscriber);
  9. subscriber.assertNoErrors();
  10. subscriber.assertComplete();
  11. subscriber.assertValue(value);
  12. return subscriber.values().get(0);
  13. }
  14. });
  15. assertSame(returned, value);
  16. }

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

  1. @Test
  2. public void as() {
  3. Flowable.just(1).as(new FlowableConverter<Integer, Observable<Integer>>() {
  4. @Override
  5. public Observable<Integer> apply(Flowable<Integer> v) {
  6. return v.toObservable();
  7. }
  8. })
  9. .test()
  10. .assertResult(1);
  11. }

代码示例来源:origin: iMeiji/Toutiao

  1. private void startIndicatorObserver() {
  2. Flowable.interval(1, 1, TimeUnit.SECONDS)
  3. .filter(aLong -> canHideFlag && System.currentTimeMillis() - mIndicatorHideTime > 1000)
  4. .subscribeOn(Schedulers.single())
  5. .observeOn(AndroidSchedulers.mainThread())
  6. .as(this.bindAutoDispose())
  7. .subscribe(new Consumer<Long>() {
  8. @Override
  9. public void accept(Long aLong) {
  10. canHideFlag = false;
  11. mIndicator.animate()
  12. .translationY(mIndicator.getHeight())
  13. .setDuration(400)
  14. .setListener(new AnimatorListenerAdapter() {
  15. @Override
  16. public void onAnimationEnd(Animator animation) {
  17. super.onAnimationEnd(animation);
  18. mIndicator.setVisibility(View.GONE);
  19. }
  20. });
  21. }
  22. });
  23. }

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

  1. @Test
  2. public void flowableConverterThrows() {
  3. try {
  4. Flowable.just(1).as(new FlowableConverter<Integer, Integer>() {
  5. @Override
  6. public Integer apply(Flowable<Integer> v) {
  7. throw new TestException("Forced failure");
  8. }
  9. });
  10. fail("Should have thrown!");
  11. } catch (TestException ex) {
  12. assertEquals("Forced failure", ex.getMessage());
  13. }
  14. }

代码示例来源:origin: uber/AutoDispose

  1. @Test public void verifySubscriberDelegate() {
  2. final AtomicReference<Subscriber> atomicSubscriber = new AtomicReference<>();
  3. final AtomicReference<Subscriber> atomicAutoDisposingSubscriber = new AtomicReference<>();
  4. try {
  5. RxJavaPlugins.setOnFlowableSubscribe((source, subscriber) -> {
  6. if (atomicSubscriber.get() == null) {
  7. System.out.println(subscriber.getClass()
  8. .toString());
  9. atomicSubscriber.set(subscriber);
  10. } else if (atomicAutoDisposingSubscriber.get() == null) {
  11. System.out.println(subscriber.getClass()
  12. .toString());
  13. atomicAutoDisposingSubscriber.set(subscriber);
  14. RxJavaPlugins.setOnFlowableSubscribe(null);
  15. }
  16. return subscriber;
  17. });
  18. Flowable.just(1)
  19. .as(autoDisposable(ScopeProvider.UNBOUND))
  20. .subscribe();
  21. assertThat(atomicAutoDisposingSubscriber.get()).isNotNull();
  22. assertThat(atomicAutoDisposingSubscriber.get()).isInstanceOf(AutoDisposingSubscriber.class);
  23. assertThat(((AutoDisposingSubscriber) atomicAutoDisposingSubscriber.get()).delegateSubscriber()).isNotNull();
  24. assertThat(((AutoDisposingSubscriber) atomicAutoDisposingSubscriber.get()).delegateSubscriber()).isSameAs(
  25. atomicSubscriber.get());
  26. } finally {
  27. RxJavaPlugins.reset();
  28. }
  29. }

代码示例来源:origin: uber/AutoDispose

  1. @Test public void autoDispose_withProvider_withoutStartingLifecycle_shouldFail() {
  2. BehaviorSubject<Integer> lifecycle = BehaviorSubject.create();
  3. LifecycleScopeProvider<Integer> provider = makeLifecycleProvider(lifecycle);
  4. TestSubscriber<Integer> o = Flowable.just(1)
  5. .as(autoDisposable(provider))
  6. .test();
  7. List<Throwable> errors = o.errors();
  8. assertThat(errors).hasSize(1);
  9. assertThat(errors.get(0)).isInstanceOf(LifecycleNotStartedException.class);
  10. }

代码示例来源:origin: uber/AutoDispose

  1. @Test public void autoDispose_withSuperClassGenerics_compilesFine() {
  2. Flowable.just(new BClass())
  3. .as(autoDisposable(ScopeProvider.UNBOUND))
  4. .subscribe((Consumer<AClass>) aClass -> {
  5. });
  6. }

代码示例来源:origin: uber/AutoDispose

  1. @Test public void verifyCancellation() {
  2. final AtomicInteger i = new AtomicInteger();
  3. //noinspection unchecked because Java
  4. final FlowableEmitter<Integer>[] emitter = new FlowableEmitter[1];
  5. Flowable<Integer> source = Flowable.create(e -> {
  6. e.setCancellable(i::incrementAndGet);
  7. emitter[0] = e;
  8. }, BackpressureStrategy.LATEST);
  9. CompletableSubject scope = CompletableSubject.create();
  10. source.as(autoDisposable(scope))
  11. .subscribe();
  12. assertThat(i.get()).isEqualTo(0);
  13. assertThat(scope.hasObservers()).isTrue();
  14. emitter[0].onNext(1);
  15. scope.onComplete();
  16. emitter[0].onNext(2);
  17. // Verify cancellation was called
  18. assertThat(i.get()).isEqualTo(1);
  19. assertThat(scope.hasObservers()).isFalse();
  20. }

代码示例来源:origin: uber/AutoDispose

  1. @Test public void autoDispose_withProvider_afterLifecycle_shouldFail() {
  2. BehaviorSubject<Integer> lifecycle = BehaviorSubject.createDefault(0);
  3. lifecycle.onNext(1);
  4. lifecycle.onNext(2);
  5. lifecycle.onNext(3);
  6. LifecycleScopeProvider<Integer> provider = makeLifecycleProvider(lifecycle);
  7. TestSubscriber<Integer> o = Flowable.just(1)
  8. .as(autoDisposable(provider))
  9. .test();
  10. List<Throwable> errors = o.errors();
  11. assertThat(errors).hasSize(1);
  12. assertThat(errors.get(0)).isInstanceOf(LifecycleEndedException.class);
  13. }

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

  1. @Test
  2. public void compositeTest() {
  3. CompositeConverter converter = new CompositeConverter();
  4. Flowable.just(1)
  5. .as(converter)
  6. .test()
  7. .assertValue(1);
  8. Observable.just(1)
  9. .as(converter)
  10. .test()
  11. .assertValue(1);
  12. Maybe.just(1)
  13. .as(converter)
  14. .test()
  15. .assertValue(1);
  16. Single.just(1)
  17. .as(converter)
  18. .test()
  19. .assertValue(1);
  20. Completable.complete()
  21. .as(converter)
  22. .test()
  23. .assertComplete();
  24. Flowable.just(1)
  25. .parallel()
  26. .as(converter)
  27. .test()
  28. .assertValue(1);
  29. }

代码示例来源:origin: RookieExaminer/MvpDemo

  1. @Override
  2. public void login(String username, String password) {
  3. //View是否绑定 如果没有绑定,就不执行网络请求
  4. if (!isViewAttached()) {
  5. return;
  6. }
  7. mView.showLoading();
  8. model.login(username, password)
  9. .compose(RxScheduler.<BaseObjectBean<LoginBean>>Flo_io_main())
  10. .as(mView.<BaseObjectBean<LoginBean>>bindAutoDispose())
  11. .subscribe(new Consumer<BaseObjectBean<LoginBean>>() {
  12. @Override
  13. public void accept(BaseObjectBean<LoginBean> bean) throws Exception {
  14. mView.onSuccess(bean);
  15. mView.hideLoading();
  16. }
  17. }, new Consumer<Throwable>() {
  18. @Override
  19. public void accept(Throwable throwable) throws Exception {
  20. mView.onError(throwable);
  21. mView.hideLoading();
  22. }
  23. });
  24. }
  25. }

代码示例来源:origin: hzsweers/blackmirror

  1. .subscribeOn(Schedulers.computation())
  2. .observeOn(AndroidSchedulers.from(Looper.getMainLooper(), true))
  3. .as(AutoDispose.<String>autoDisposable(AndroidLifecycleScopeProvider.from(this)))
  4. .subscribe(new DisposableSubscriber<String>() {
  5. @Override public void onNext(String newLog) {

相关文章

Flowable类方法