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

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

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

Flowable.fromIterable介绍

[英]Converts an Iterable sequence into a Publisher that emits the items in the sequence.

Backpressure: The operator honors backpressure from downstream and iterates the given iterableon demand (i.e., when requested). Scheduler: fromIterable does not operate by default on a particular Scheduler.
[中]将Iterable序列转换为发布者,该发布者发出序列中的项目。
背压:操作员接受来自下游的背压,并迭代给定的iterableon需求(即,在请求时)。调度程序:默认情况下,fromIterable不会在特定调度程序上运行。

代码示例

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

  1. @Override
  2. public Flowable<Integer> apply(Integer t) {
  3. return Flowable.fromIterable(Arrays.asList(t));
  4. }
  5. })

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

  1. @Override
  2. public Flowable<Long> apply(Long t) {
  3. return Flowable.fromIterable(Arrays.asList(1L, 2L, 3L)).hide();
  4. }
  5. }).take(3)).subscribe(ts);

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

  1. @Override
  2. public Publisher<Long> createPublisher(long elements) {
  3. return Flowable.fromIterable(iterate(elements));
  4. }
  5. }

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

  1. @Override
  2. public Publisher<Long> createPublisher(long elements) {
  3. return
  4. Flowable.merge(
  5. Flowable.fromIterable(iterate(elements / 2)),
  6. Flowable.fromIterable(iterate(elements - elements / 2))
  7. )
  8. ;
  9. }
  10. }

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

  1. @Test
  2. public void testListViaFlowable() {
  3. Flowable<String> w = Flowable.fromIterable(Arrays.asList("one", "two", "three"));
  4. Single<List<String>> single = w.toList();
  5. SingleObserver<List<String>> observer = TestHelper.mockSingleObserver();
  6. single.subscribe(observer);
  7. verify(observer, times(1)).onSuccess(Arrays.asList("one", "two", "three"));
  8. verify(observer, Mockito.never()).onError(any(Throwable.class));
  9. }

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

  1. @Override
  2. public Publisher<Long> createPublisher(long elements) {
  3. return
  4. Flowable.concat(Flowable.just(
  5. Flowable.fromIterable(iterate(elements / 2)),
  6. Flowable.fromIterable(iterate(elements - elements / 2))
  7. )
  8. )
  9. ;
  10. }
  11. }

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

  1. @Override
  2. public Publisher<Long> createPublisher(long elements) {
  3. return
  4. Flowable.merge(Flowable.just(
  5. Flowable.fromIterable(iterate(elements / 2)),
  6. Flowable.fromIterable(iterate(elements - elements / 2))
  7. )
  8. )
  9. ;
  10. }
  11. }

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

  1. @Test
  2. public void testFlatMapTransformsMergeException() {
  3. Flowable<Integer> onNext = Flowable.error(new TestException());
  4. Flowable<Integer> onComplete = Flowable.fromIterable(Arrays.asList(4));
  5. Flowable<Integer> onError = Flowable.fromIterable(Arrays.asList(5));
  6. Flowable<Integer> source = Flowable.fromIterable(Arrays.asList(10, 20, 30));
  7. Subscriber<Object> subscriber = TestHelper.mockSubscriber();
  8. source.flatMap(just(onNext), just(onError), funcThrow0(onComplete)).subscribe(subscriber);
  9. verify(subscriber).onError(any(TestException.class));
  10. verify(subscriber, never()).onNext(any());
  11. verify(subscriber, never()).onComplete();
  12. }

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

  1. @Test
  2. public void testTake1() {
  3. Flowable<String> w = Flowable.fromIterable(Arrays.asList("one", "two", "three"));
  4. Flowable<String> take = w.take(2);
  5. Subscriber<String> subscriber = TestHelper.mockSubscriber();
  6. take.subscribe(subscriber);
  7. verify(subscriber, times(1)).onNext("one");
  8. verify(subscriber, times(1)).onNext("two");
  9. verify(subscriber, never()).onNext("three");
  10. verify(subscriber, never()).onError(any(Throwable.class));
  11. verify(subscriber, times(1)).onComplete();
  12. }

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

  1. @Test
  2. @Ignore("Null values not allowed")
  3. public void testSkipLastWithNull() {
  4. Flowable<String> flowable = Flowable.fromIterable(Arrays.asList("one", null, "two")).skipLast(1);
  5. Subscriber<String> subscriber = TestHelper.mockSubscriber();
  6. flowable.subscribe(subscriber);
  7. verify(subscriber, times(1)).onNext("one");
  8. verify(subscriber, times(1)).onNext(null);
  9. verify(subscriber, never()).onNext("two");
  10. verify(subscriber, never()).onError(any(Throwable.class));
  11. verify(subscriber, times(1)).onComplete();
  12. }

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

  1. @Test
  2. public void testWrappingMock() {
  3. Flowable<Integer> oi = Flowable.fromIterable(Arrays.asList(1, 2));
  4. Subscriber<Integer> mockSubscriber = TestHelper.mockSubscriber();
  5. oi.subscribe(new TestSubscriber<Integer>(mockSubscriber));
  6. InOrder inOrder = inOrder(mockSubscriber);
  7. inOrder.verify(mockSubscriber, times(1)).onNext(1);
  8. inOrder.verify(mockSubscriber, times(1)).onNext(2);
  9. inOrder.verify(mockSubscriber, times(1)).onComplete();
  10. inOrder.verifyNoMoreInteractions();
  11. }

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

  1. @Test
  2. public void testWrappingMockWhenUnsubscribeInvolved() {
  3. Flowable<Integer> oi = Flowable.fromIterable(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9)).take(2);
  4. Subscriber<Integer> mockSubscriber = TestHelper.mockSubscriber();
  5. oi.subscribe(new TestSubscriber<Integer>(mockSubscriber));
  6. InOrder inOrder = inOrder(mockSubscriber);
  7. inOrder.verify(mockSubscriber, times(1)).onNext(1);
  8. inOrder.verify(mockSubscriber, times(1)).onNext(2);
  9. inOrder.verify(mockSubscriber, times(1)).onComplete();
  10. inOrder.verifyNoMoreInteractions();
  11. }

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

  1. @Override
  2. public Publisher<Long> createPublisher(long elements) {
  3. return
  4. Flowable.switchOnNext(Flowable.just(
  5. Flowable.fromIterable(iterate(elements)))
  6. )
  7. ;
  8. }
  9. }

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

  1. @Test(expected = IllegalArgumentException.class)
  2. public void testTakeWithError() {
  3. Flowable.fromIterable(Arrays.asList(1, 2, 3)).take(1)
  4. .map(new Function<Integer, Integer>() {
  5. @Override
  6. public Integer apply(Integer t1) {
  7. throw new IllegalArgumentException("some error");
  8. }
  9. }).blockingSingle();
  10. }

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

  1. @Test
  2. public void fusionRejected() {
  3. TestSubscriber<Integer> ts = SubscriberFusion.newTest(QueueFuseable.ASYNC);
  4. Flowable.fromIterable(Arrays.asList(1, 2, 3))
  5. .subscribe(ts);
  6. SubscriberFusion.assertFusion(ts, QueueFuseable.NONE)
  7. .assertResult(1, 2, 3);
  8. }

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

  1. @Test
  2. public void testAssert() {
  3. Flowable<Integer> oi = Flowable.fromIterable(Arrays.asList(1, 2));
  4. TestSubscriber<Integer> ts = new TestSubscriber<Integer>();
  5. oi.subscribe(ts);
  6. ts.assertValues(1, 2);
  7. ts.assertValueCount(2);
  8. ts.assertTerminated();
  9. }

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

  1. @Test
  2. public void testAssertNotMatchValue() {
  3. Flowable<Integer> oi = Flowable.fromIterable(Arrays.asList(1, 2));
  4. TestSubscriber<Integer> ts = new TestSubscriber<Integer>();
  5. oi.subscribe(ts);
  6. thrown.expect(AssertionError.class);
  7. // FIXME different message pattern
  8. // thrown.expectMessage("Value at index: 1 expected to be [3] (Integer) but was: [2] (Integer)");
  9. ts.assertValues(1, 3);
  10. ts.assertValueCount(2);
  11. ts.assertTerminated();
  12. }

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

  1. @Test
  2. public void assertNeverAtMatchingValue() {
  3. Flowable<Integer> oi = Flowable.fromIterable(Arrays.asList(1, 2));
  4. TestSubscriber<Integer> ts = new TestSubscriber<Integer>();
  5. oi.subscribe(ts);
  6. ts.assertValues(1, 2);
  7. thrown.expect(AssertionError.class);
  8. ts.assertNever(2);
  9. ts.assertValueCount(2);
  10. ts.assertTerminated();
  11. }

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

  1. @Test
  2. public void normalConditionalCrash2() {
  3. Flowable.fromIterable(new CrashingIterable(100, 100, 2))
  4. .filter(Functions.alwaysTrue())
  5. .test()
  6. .assertFailure(TestException.class, 0);
  7. }

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

  1. @Test
  2. public void syncIterableHidden() {
  3. Flowable.fromIterable(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10))
  4. .hide()
  5. .to(SubscriberFusion.<Integer>test(Long.MAX_VALUE, QueueFuseable.ANY, false))
  6. .assertOf(SubscriberFusion.<Integer>assertNotFuseable())
  7. .assertOf(SubscriberFusion.<Integer>assertFusionMode(QueueFuseable.NONE))
  8. .assertValues(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
  9. .assertNoErrors()
  10. .assertComplete();
  11. }
  12. }

相关文章

Flowable类方法