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

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

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

Observable.blockingFirst介绍

[英]Returns the first item emitted by this Observable, or throws NoSuchElementException if it emits no items.

Scheduler: blockingFirst does not operate by default on a particular Scheduler.
[中]返回此Observable发出的第一个项,如果它不发出任何项,则抛出NosTouchElementException。
调度程序:blockingFirst默认情况下不会在特定调度程序上运行。

代码示例

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

  1. @Override
  2. public Integer apply(Integer v) throws Exception {
  3. Observable.just(1).delay(10, TimeUnit.SECONDS).blockingFirst();
  4. return v;
  5. }
  6. })

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

  1. @Override
  2. public Integer apply(Integer v) throws Exception {
  3. Observable.just(1).delay(10, TimeUnit.SECONDS).blockingFirst();
  4. return v;
  5. }
  6. })

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

  1. @Override
  2. public Integer apply(Integer v) throws Exception {
  3. return Observable.just(2).delay(100, TimeUnit.MILLISECONDS).blockingFirst();
  4. }
  5. })

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

  1. @Test
  2. public void blockingFirstNormal() {
  3. assertEquals(1, Observable.just(1, 2).blockingFirst(3).intValue());
  4. }

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

  1. @Test(expected = NoSuchElementException.class)
  2. public void blockingFirstEmpty() {
  3. Observable.empty().blockingFirst();
  4. }

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

  1. @Test
  2. public void testBackpressureWithNoInitialValueObservable() throws InterruptedException {
  3. Observable<Integer> source = Observable.just(1, 2, 3, 4, 5, 6);
  4. Observable<Integer> reduced = source.reduce(sum).toObservable();
  5. Integer r = reduced.blockingFirst();
  6. assertEquals(21, r.intValue());
  7. }

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

  1. @Test
  2. public void testWithFollowingFirstObservable() {
  3. Observable<Integer> o = Observable.just(1, 3, 2, 5, 4);
  4. assertEquals(Arrays.asList(1, 2, 3, 4, 5), o.toSortedList().toObservable().blockingFirst());
  5. }

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

  1. @Test
  2. public void blockingFirstDefault() {
  3. assertEquals(1, Observable.<Integer>empty()
  4. .subscribeOn(Schedulers.computation()).blockingFirst(1).intValue());
  5. }

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

  1. @Test
  2. public void blockingFirst() {
  3. assertEquals(1, Observable.range(1, 10)
  4. .subscribeOn(Schedulers.computation()).blockingFirst().intValue());
  5. }

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

  1. @Test
  2. public void testBackpressureWithInitialValueObservable() throws InterruptedException {
  3. Observable<Integer> source = Observable.just(1, 2, 3, 4, 5, 6);
  4. Observable<Integer> reduced = source.reduce(0, sum).toObservable();
  5. Integer r = reduced.blockingFirst();
  6. assertEquals(21, r.intValue());
  7. }

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

  1. @Test(timeout = 30000)
  2. public void testIssue1527Observable() throws InterruptedException {
  3. //https://github.com/ReactiveX/RxJava/pull/1527
  4. Observable<Integer> source = Observable.just(1, 2, 3, 4, 5, 6);
  5. Observable<Integer> reduced = source.reduce(new BiFunction<Integer, Integer, Integer>() {
  6. @Override
  7. public Integer apply(Integer i1, Integer i2) {
  8. return i1 + i2;
  9. }
  10. }).toObservable();
  11. Integer r = reduced.blockingFirst();
  12. assertEquals(21, r.intValue());
  13. }

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

  1. @Test(timeout = 5000)
  2. public void testIssue1935NoUnsubscribeDownstream() {
  3. Observable<Integer> source = Observable.just(1).isEmpty()
  4. .flatMapObservable(new Function<Boolean, Observable<Integer>>() {
  5. @Override
  6. public Observable<Integer> apply(Boolean t1) {
  7. return Observable.just(2).delay(500, TimeUnit.MILLISECONDS);
  8. }
  9. });
  10. assertEquals((Object)2, source.blockingFirst());
  11. }

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

  1. @Test
  2. public void testListWithBlockingFirstObservable() {
  3. Observable<String> o = Observable.fromIterable(Arrays.asList("one", "two", "three"));
  4. List<String> actual = o.toList().toObservable().blockingFirst();
  5. Assert.assertEquals(Arrays.asList("one", "two", "three"), actual);
  6. }

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

  1. @Test
  2. public void timerDelayZero() {
  3. List<Throwable> errors = TestHelper.trackPluginErrors();
  4. try {
  5. for (int i = 0; i < 1000; i++) {
  6. Observable.timer(0, TimeUnit.MILLISECONDS).blockingFirst();
  7. }
  8. assertTrue(errors.toString(), errors.isEmpty());
  9. } finally {
  10. RxJavaPlugins.reset();
  11. }
  12. }

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

  1. @Test(timeout = 5000)
  2. public void testIssue1935NoUnsubscribeDownstreamObservable() {
  3. Observable<Integer> source = Observable.just(1).isEmpty().toObservable()
  4. .flatMap(new Function<Boolean, Observable<Integer>>() {
  5. @Override
  6. public Observable<Integer> apply(Boolean t1) {
  7. return Observable.just(2).delay(500, TimeUnit.MILLISECONDS);
  8. }
  9. });
  10. assertEquals((Object)2, source.blockingFirst());
  11. }

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

  1. @Test
  2. public void testErrorThrownIssue1685() {
  3. Subject<Object> subject = ReplaySubject.create();
  4. Observable.error(new RuntimeException("oops"))
  5. .materialize()
  6. .delay(1, TimeUnit.SECONDS)
  7. .dematerialize(Functions.<Notification<Object>>identity())
  8. .subscribe(subject);
  9. subject.subscribe();
  10. subject.materialize().blockingFirst();
  11. System.out.println("Done");
  12. }

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

  1. @Test(timeout = 5000)
  2. public void testIssue1935NoUnsubscribeDownstream() {
  3. Observable<Integer> source = Observable.just(1)
  4. .all(new Predicate<Integer>() {
  5. @Override
  6. public boolean test(Integer t1) {
  7. return false;
  8. }
  9. })
  10. .flatMapObservable(new Function<Boolean, Observable<Integer>>() {
  11. @Override
  12. public Observable<Integer> apply(Boolean t1) {
  13. return Observable.just(2).delay(500, TimeUnit.MILLISECONDS);
  14. }
  15. });
  16. assertEquals((Object)2, source.blockingFirst());
  17. }

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

  1. @Test
  2. public void testFollowingFirstObservable() {
  3. Observable<Integer> o = Observable.fromArray(1, 3, 5, 6);
  4. Observable<Boolean> allOdd = o.all(new Predicate<Integer>() {
  5. @Override
  6. public boolean test(Integer i) {
  7. return i % 2 == 1;
  8. }
  9. }).toObservable();
  10. assertFalse(allOdd.blockingFirst());
  11. }

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

  1. @Test
  2. public void testWithFollowingFirstObservable() {
  3. Observable<Integer> o = Observable.fromArray(1, 3, 5, 6);
  4. Observable<Boolean> anyEven = o.any(new Predicate<Integer>() {
  5. @Override
  6. public boolean test(Integer i) {
  7. return i % 2 == 0;
  8. }
  9. }).toObservable();
  10. assertTrue(anyEven.blockingFirst());
  11. }

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

  1. @Test(timeout = 5000)
  2. public void testIssue1935NoUnsubscribeDownstreamObservable() {
  3. Observable<Integer> source = Observable.just(1)
  4. .all(new Predicate<Integer>() {
  5. @Override
  6. public boolean test(Integer t1) {
  7. return false;
  8. }
  9. }).toObservable()
  10. .flatMap(new Function<Boolean, Observable<Integer>>() {
  11. @Override
  12. public Observable<Integer> apply(Boolean t1) {
  13. return Observable.just(2).delay(500, TimeUnit.MILLISECONDS);
  14. }
  15. });
  16. assertEquals((Object)2, source.blockingFirst());
  17. }

相关文章

Observable类方法