本文整理了Java中io.reactivex.Single.doOnEvent()
方法的一些代码示例,展示了Single.doOnEvent()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Single.doOnEvent()
方法的具体详情如下:
包路径:io.reactivex.Single
类名称:Single
方法名:doOnEvent
[英]Calls the shared consumer with the error sent via onError or the value via onSuccess for each SingleObserver that subscribes to the current Single. Scheduler: doOnEvent does not operate by default on a particular Scheduler.
[中]为订阅当前单曲的每个SingleObserver调用共享使用者,并通过onError发送错误或通过onSuccess发送值。调度器:默认情况下,doOnEvent不会在特定的调度器上运行。
代码示例来源:origin: TeamNewPipe/NewPipe
@Override
protected void loadMoreItems() {
isLoading.set(true);
showListFooter(true);
if (searchDisposable != null) searchDisposable.dispose();
searchDisposable = ExtractorHelper.getMoreSearchItems(
serviceId,
searchString,
asList(contentFilter),
sortFilter,
nextPageUrl)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.doOnEvent((nextItemsResult, throwable) -> isLoading.set(false))
.subscribe(this::handleNextItems, this::onError);
}
代码示例来源:origin: TeamNewPipe/NewPipe
@Override
public void startLoading(boolean forceLoad) {
super.startLoading(forceLoad);
if (disposables != null) disposables.clear();
if (searchDisposable != null) searchDisposable.dispose();
searchDisposable = ExtractorHelper.searchFor(serviceId,
searchString,
Arrays.asList(contentFilter),
sortFilter)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.doOnEvent((searchResult, throwable) -> isLoading.set(false))
.subscribe(this::handleResult, this::onError);
}
代码示例来源:origin: ReactiveX/RxJava
@Test
public void doOnEventError() {
final AtomicInteger atomicInteger = new AtomicInteger(0);
Single.error(new RuntimeException()).doOnEvent(new BiConsumer<Object, Throwable>() {
@Override
public void accept(final Object o, final Throwable throwable) throws Exception {
if (throwable != null) {
atomicInteger.incrementAndGet();
}
}
}).subscribe();
assertEquals(1, atomicInteger.get());
}
代码示例来源:origin: ReactiveX/RxJava
@Test
public void doOnEventComplete() {
final AtomicInteger atomicInteger = new AtomicInteger(0);
Single.just(1).doOnEvent(new BiConsumer<Integer, Throwable>() {
@Override
public void accept(final Integer integer, final Throwable throwable) throws Exception {
if (integer != null) {
atomicInteger.incrementAndGet();
}
}
}).subscribe();
assertEquals(1, atomicInteger.get());
}
代码示例来源:origin: ReactiveX/RxJava
@Test(expected = NullPointerException.class)
public void doOnEventNullEvent() {
Single.just(1).doOnEvent(null);
}
代码示例来源:origin: ReactiveX/RxJava
@Test
public void doOnEventThrowsSuccess() {
Single.just(1)
.doOnEvent(new BiConsumer<Integer, Throwable>() {
@Override
public void accept(Integer v, Throwable e) throws Exception {
throw new TestException();
}
})
.test()
.assertFailure(TestException.class);
}
代码示例来源:origin: ReactiveX/RxJava
@Test
public void doOnEventThrowsError() {
TestObserver<Integer> to = Single.<Integer>error(new TestException("Main"))
.doOnEvent(new BiConsumer<Integer, Throwable>() {
@Override
public void accept(Integer v, Throwable e) throws Exception {
throw new TestException("Inner");
}
})
.test()
.assertFailure(CompositeException.class);
List<Throwable> errors = TestHelper.compositeList(to.errors().get(0));
TestHelper.assertError(errors, 0, TestException.class, "Main");
TestHelper.assertError(errors, 1, TestException.class, "Inner");
}
代码示例来源:origin: akarnokd/akarnokd-misc
@Test
public void test2() {
Flowable.just(Ix.range(0, 600))
.flatMapIterable(x->x)
.doOnNext(System.out::println)
.share()
.share()
.count()
.doOnEvent((a, b) -> {
if (a != null) {
System.out.println(a);
} else {
b.printStackTrace();
}
})
.test()
.assertResult(600L);
}
}
代码示例来源:origin: akarnokd/akarnokd-misc
@Test
public void test() {
Flowable.just(Ix.range(0, 300), Ix.range(0, 300))
.flatMapIterable(x->x)
.doOnNext(System.out::println)
.share()
.share()
.count()
.doOnEvent((a, b) -> {
if (a != null) {
System.out.println(a);
} else {
b.printStackTrace();
}
})
.test()
.assertResult(600L);
}
代码示例来源:origin: quanturium/bouquet
getMessageManager().printEvent(getComponentInfo(), RxEvent.SUBSCRIBE);
})
.doOnEvent((value, throwable) -> {
if (value != null)
emittedItems.increment();
内容来源于网络,如有侵权,请联系作者删除!