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

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

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

Observable.subscribe介绍

[英]Subscribes to an ObservableSource and ignores onNext and onComplete emissions.

If the Observable emits an error, it is wrapped into an io.reactivex.exceptions.OnErrorNotImplementedExceptionand routed to the RxJavaPlugins.onError handler. Scheduler: subscribe does not operate by default on a particular Scheduler.
[中]订阅一个可观察的资源,忽略下一个和未完成的排放。
如果可观测对象发出错误,它将被包装到io中。reactivex。例外。OnErrorNotImplementedException并路由到RxJavaPlugins。一个错误处理程序。调度程序:订阅默认情况下不会在特定调度程序上运行。

代码示例

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

  1. @Override
  2. protected void subscribeActual(Observer<? super R> observer) {
  3. if (!ScalarXMapZHelper.tryAsMaybe(source, mapper, observer)) {
  4. source.subscribe(new SwitchMapMaybeMainObserver<T, R>(observer, mapper, delayErrors));
  5. }
  6. }

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

  1. @Override
  2. public Observable<Integer> apply(Integer t) {
  3. Observable<Integer> o = Observable.just(t)
  4. .subscribeOn(sch)
  5. ;
  6. Subject<Integer> subject = UnicastSubject.create();
  7. o.subscribe(subject);
  8. return subject;
  9. }
  10. };

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

  1. @Override
  2. protected void subscribeActual(Observer<? super R> observer) {
  3. if (!ScalarXMapZHelper.tryAsSingle(source, mapper, observer)) {
  4. source.subscribe(new SwitchMapSingleMainObserver<T, R>(observer, mapper, delayErrors));
  5. }
  6. }

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

  1. @Test
  2. public void testUnsubscribeSource() throws Exception {
  3. Action unsubscribe = mock(Action.class);
  4. Observable<Integer> o = Observable.just(1).doOnDispose(unsubscribe).cache();
  5. o.subscribe();
  6. o.subscribe();
  7. o.subscribe();
  8. verify(unsubscribe, never()).run();
  9. }

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

  1. @Test
  2. @Ignore("Null values no longer allowed")
  3. public void testDistinctOfSourceWithExceptionsFromKeySelector() {
  4. Observable<String> src = Observable.just("a", "b", null, "c");
  5. src.distinct(TO_UPPER_WITH_EXCEPTION).subscribe(w);
  6. InOrder inOrder = inOrder(w);
  7. inOrder.verify(w, times(1)).onNext("a");
  8. inOrder.verify(w, times(1)).onNext("b");
  9. inOrder.verify(w, times(1)).onError(any(NullPointerException.class));
  10. inOrder.verify(w, never()).onNext(anyString());
  11. inOrder.verify(w, never()).onComplete();
  12. }

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

  1. @Test
  2. public void testDeferFunctionThrows() throws Exception {
  3. Callable<Observable<String>> factory = mock(Callable.class);
  4. when(factory.call()).thenThrow(new TestException());
  5. Observable<String> result = Observable.defer(factory);
  6. Observer<String> o = TestHelper.mockObserver();
  7. result.subscribe(o);
  8. verify(o).onError(any(TestException.class));
  9. verify(o, never()).onNext(any(String.class));
  10. verify(o, never()).onComplete();
  11. }
  12. }

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

  1. @Test
  2. public void testCast() {
  3. Observable<?> source = Observable.just(1, 2);
  4. Observable<Integer> observable = source.cast(Integer.class);
  5. Observer<Integer> observer = TestHelper.mockObserver();
  6. observable.subscribe(observer);
  7. verify(observer, times(1)).onNext(1);
  8. verify(observer, times(1)).onNext(1);
  9. verify(observer, never()).onError(
  10. any(Throwable.class));
  11. verify(observer, times(1)).onComplete();
  12. }

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

  1. @Test
  2. public void testCombineLatest3TypesB() {
  3. Function3<String, Integer, int[], String> combineLatestFunction = getConcatStringIntegerIntArrayCombineLatestFunction();
  4. /* define an Observer to receive aggregated events */
  5. Observer<String> observer = TestHelper.mockObserver();
  6. Observable<String> w = Observable.combineLatest(Observable.just("one"), Observable.just(2), Observable.just(new int[] { 4, 5, 6 }, new int[] { 7, 8 }), combineLatestFunction);
  7. w.subscribe(observer);
  8. verify(observer, never()).onError(any(Throwable.class));
  9. verify(observer, times(1)).onComplete();
  10. verify(observer, times(1)).onNext("one2[4, 5, 6]");
  11. verify(observer, times(1)).onNext("one2[7, 8]");
  12. }

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

  1. @Test
  2. public void testIsEmptyWithTwoItemsObservable() {
  3. Observable<Integer> w = Observable.just(1, 2);
  4. Observable<Boolean> observable = w.isEmpty().toObservable();
  5. Observer<Boolean> observer = TestHelper.mockObserver();
  6. observable.subscribe(observer);
  7. verify(observer, never()).onNext(true);
  8. verify(observer, times(1)).onNext(false);
  9. verify(observer, never()).onError(any(Throwable.class));
  10. verify(observer, times(1)).onComplete();
  11. }

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

  1. @Test
  2. public void testIsEmptyWithOneItemObservable() {
  3. Observable<Integer> w = Observable.just(1);
  4. Observable<Boolean> observable = w.isEmpty().toObservable();
  5. Observer<Boolean> observer = TestHelper.mockObserver();
  6. observable.subscribe(observer);
  7. verify(observer, never()).onNext(true);
  8. verify(observer, times(1)).onNext(false);
  9. verify(observer, never()).onError(any(Throwable.class));
  10. verify(observer, times(1)).onComplete();
  11. }

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

  1. @Test
  2. public void testDematerialize1() {
  3. Observable<Notification<Integer>> notifications = Observable.just(1, 2).materialize();
  4. Observable<Integer> dematerialize = notifications.dematerialize();
  5. Observer<Integer> observer = TestHelper.mockObserver();
  6. dematerialize.subscribe(observer);
  7. verify(observer, times(1)).onNext(1);
  8. verify(observer, times(1)).onNext(2);
  9. verify(observer, times(1)).onComplete();
  10. verify(observer, never()).onError(any(Throwable.class));
  11. }

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

  1. @Test
  2. public void testSkipAndCountGaplessBuffers() {
  3. Observable<String> source = Observable.just("one", "two", "three", "four", "five");
  4. Observable<List<String>> buffered = source.buffer(3, 3);
  5. buffered.subscribe(observer);
  6. InOrder inOrder = Mockito.inOrder(observer);
  7. inOrder.verify(observer, Mockito.times(1)).onNext(list("one", "two", "three"));
  8. inOrder.verify(observer, Mockito.times(1)).onNext(list("four", "five"));
  9. inOrder.verify(observer, Mockito.never()).onNext(Mockito.<String>anyList());
  10. inOrder.verify(observer, Mockito.never()).onError(Mockito.any(Throwable.class));
  11. inOrder.verify(observer, Mockito.times(1)).onComplete();
  12. }

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

  1. @Test
  2. public void testLongTimeAction() throws InterruptedException {
  3. final CountDownLatch latch = new CountDownLatch(1);
  4. LongTimeAction action = new LongTimeAction(latch);
  5. Observable.just(1).buffer(10, TimeUnit.MILLISECONDS, 10)
  6. .subscribe(action);
  7. latch.await();
  8. assertFalse(action.fail);
  9. }

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

  1. @Test
  2. public void testFirstWithOneElementObservable() {
  3. Observable<Integer> o = Observable.just(1).firstElement().toObservable();
  4. Observer<Integer> observer = TestHelper.mockObserver();
  5. o.subscribe(observer);
  6. InOrder inOrder = inOrder(observer);
  7. inOrder.verify(observer, times(1)).onNext(1);
  8. inOrder.verify(observer, times(1)).onComplete();
  9. inOrder.verifyNoMoreInteractions();
  10. }

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

  1. @Test(timeout = 2000)
  2. public void bufferWithSizeSkipTake1() {
  3. Observable<Integer> source = Observable.just(1).repeat();
  4. Observable<List<Integer>> result = source.buffer(2, 3).take(1);
  5. Observer<Object> o = TestHelper.mockObserver();
  6. result.subscribe(o);
  7. verify(o).onNext(Arrays.asList(1, 1));
  8. verify(o).onComplete();
  9. verify(o, never()).onError(any(Throwable.class));
  10. }

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

  1. @Test
  2. public void testConcat() {
  3. Observer<String> observer = TestHelper.mockObserver();
  4. final String[] o = { "1", "3", "5", "7" };
  5. final String[] e = { "2", "4", "6" };
  6. final Observable<String> odds = Observable.fromArray(o);
  7. final Observable<String> even = Observable.fromArray(e);
  8. Observable<String> concat = Observable.concat(odds, even);
  9. concat.subscribe(observer);
  10. verify(observer, times(7)).onNext(anyString());
  11. }

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

  1. @Test
  2. public void asyncFusedRejected() {
  3. TestObserver<Integer> to0 = ObserverFusion.newTest(QueueFuseable.ASYNC);
  4. Observable.range(1, 5)
  5. .doAfterNext(afterNext)
  6. .subscribe(to0);
  7. ObserverFusion.assertFusion(to0, QueueFuseable.NONE)
  8. .assertResult(1, 2, 3, 4, 5);
  9. assertEquals(Arrays.asList(-1, -2, -3, -4, -5), values);
  10. }

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

  1. @Test
  2. public void testSimple2() {
  3. Observable.range(1, 100).concatMapEager(toRange).subscribe(to);
  4. to.assertNoErrors();
  5. to.assertValueCount(200);
  6. to.assertComplete();
  7. }

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

  1. @Test
  2. public void otherError() {
  3. final TestObserver<Integer> to = new TestObserver<Integer>();
  4. Observable.range(1, 5)
  5. .concatWith(Completable.error(new TestException()))
  6. .subscribe(to);
  7. to.assertFailure(TestException.class, 1, 2, 3, 4, 5);
  8. }

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

  1. @Test
  2. public void testTake() {
  3. TestObserver<Integer> to = new TestObserver<Integer>();
  4. ObservableCache<Integer> cached = new ObservableCache<Integer>(Observable.range(1, 1000), 16);
  5. cached.take(10).subscribe(to);
  6. to.assertNoErrors();
  7. to.assertComplete();
  8. to.assertValues(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
  9. // ts.assertUnsubscribed(); // FIXME no longer valid
  10. assertFalse(cached.hasObservers());
  11. }

相关文章

Observable类方法