本文整理了Java中io.reactivex.Single.fromObservable()
方法的一些代码示例,展示了Single.fromObservable()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Single.fromObservable()
方法的具体详情如下:
包路径:io.reactivex.Single
类名称:Single
方法名:fromObservable
[英]Wraps a specific ObservableSource into a Single and signals its single element or error.
If the ObservableSource is empty, a NoSuchElementException is signalled. If the source has more than one element, an IndexOutOfBoundsException is signalled. Scheduler: fromObservable does not operate by default on a particular Scheduler.
[中]将一个特定的可观察资源包装成一个单独的元素,并发出其单个元素或错误的信号。
如果ObservableSource为空,则会发出NosTouchElementException信号。如果源有多个元素,则会发出IndexOutOfBoundsException信号。调度程序:默认情况下,fromObservable不会在特定调度程序上运行。
代码示例来源:origin: ReactiveX/RxJava
@Test(expected = NullPointerException.class)
public void fromObservableNull() {
Single.fromObservable(null);
}
代码示例来源:origin: ReactiveX/RxJava
@Test
public void fromObservableOneElement() {
Single.fromObservable(Observable.just(1))
.test()
.assertResult(1);
}
代码示例来源:origin: ReactiveX/RxJava
@Test
public void fromObservableMoreThan1Elements() {
Single.fromObservable(Observable.just(1, 2))
.test()
.assertFailure(IllegalArgumentException.class)
.assertErrorMessage("Sequence contains more than one element!");
}
代码示例来源:origin: ReactiveX/RxJava
@Test
public void fromObservableError() {
Single.fromObservable(Observable.error(new RuntimeException("some error")))
.test()
.assertFailure(RuntimeException.class)
.assertErrorMessage("some error");
}
代码示例来源:origin: ReactiveX/RxJava
@Test
public void fromObservableEmpty() {
Single.fromObservable(Observable.empty())
.test()
.assertFailure(NoSuchElementException.class);
}
代码示例来源:origin: GDGAhmedabad/Learning-Resources
/**
* @param observable make it via ApiClient.getClient().create(Class_Name).method()
* @return Single which helps in adding other functions like flatMap(), filter()
*/
public static <T> Single<T> makeSingle(Observable<T> observable) {
return Single.fromObservable(observable)
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io());
}
代码示例来源:origin: TrustWallet/trust-wallet-android-source
@Override
public Single<Ticker> getTicker() {
return Single.fromObservable(tickerService
.fetchTickerPrice(getDefaultNetwork().symbol));
}
}
代码示例来源:origin: VictorAlbertos/ReactiveCache
/**
* Same as {@link ProviderGroup#replace(Object)} but wrap the data in a Reply object for debug
* purposes.
*/
public final SingleTransformer<T, Reply<T>> replaceAsReply(final Object group) {
return loader ->
loader.flatMap(data -> Single.fromObservable(builder.processorProviders
.process(getConfigProvider(Observable.just(data), group.toString(),
new EvictDynamicKeyGroup(true), true, null))));
}
代码示例来源:origin: VictorAlbertos/ReactiveCache
/**
* Replace the cached data by group based on the element emitted from the loader.
*/
public final SingleTransformer<T, T> replace(final Object group) {
return loader ->
loader.flatMap(data -> Single.fromObservable(builder.processorProviders
.process(getConfigProvider(Observable.just(data), group.toString(),
new EvictDynamicKeyGroup(true), false, null))));
}
代码示例来源:origin: VictorAlbertos/ReactiveCache
/**
* Same as {@link Provider#replace()} but wrap the data in a Reply object for debug purposes.
*/
public final SingleTransformer<T, Reply<T>> replaceAsReply() {
return loader ->
loader.flatMap(data -> Single.fromObservable(builder.processorProviders
.process(getConfigProvider(Observable.just(data), new EvictDynamicKey(true), true,
null))));
}
代码示例来源:origin: VictorAlbertos/ReactiveCache
/**
* Same as {@link ProviderGroup#readWithLoader(Object)} but wrap the data in a Reply object for
* debug purposes.
*/
public final SingleTransformer<T, Reply<T>> readWithLoaderAsReply(final Object group) {
return loader -> Single.fromObservable(builder.processorProviders
.process(getConfigProvider(loader.toObservable(), group.toString(), new EvictDynamicKeyGroup(false),
true, null)));
}
代码示例来源:origin: VictorAlbertos/ReactiveCache
/**
* Read from cache by group but if there is not data available then read from the loader and cache
* its element.
*/
public final SingleTransformer<T, T> readWithLoader(final Object group) {
return loader -> Single.fromObservable(builder.processorProviders
.process(getConfigProvider(loader.toObservable(), group.toString(),
new EvictDynamicKeyGroup(false), false, null)));
}
代码示例来源:origin: VictorAlbertos/ReactiveCache
/**
* Replace the cached data by the element emitted from the loader.
*/
public final SingleTransformer<T, T> replace() {
return loader ->
loader.flatMap(data -> Single.fromObservable(builder.processorProviders
.process(getConfigProvider(Observable.just(data),
new EvictDynamicKey(true), false, null))));
}
代码示例来源:origin: VictorAlbertos/ReactiveCache
/**
* Read from cache but if there is not data available then read from the loader and cache its
* element.
*/
public final SingleTransformer<T, T> readWithLoader() {
return loader ->
Single.fromObservable(builder.processorProviders
.process(getConfigProvider(loader.toObservable(),
new EvictDynamicKey(false), false, null)));
}
代码示例来源:origin: VictorAlbertos/ReactiveCache
/**
* Same as {@link Provider#readWithLoader()} but wrap the data in a Reply object for debug
* purposes.
*/
public final SingleTransformer<T, Reply<T>> readWithLoaderAsReply() {
return loader -> Single.fromObservable(builder.processorProviders
.process(getConfigProvider(loader.toObservable(), new EvictDynamicKey(false), true, null)));
}
代码示例来源:origin: VictorAlbertos/ReactiveCache
/**
* Read from cache by group and throw if no data is available.
*/
public final Single<T> read(final Object group) {
return Single.defer(() ->
Single.fromObservable(builder.processorProviders
.<T>process(getConfigProvider(exceptionAdapter.placeholderLoader(), group.toString(),
new EvictDynamicKeyGroup(false), false, null))))
.onErrorResumeNext(exceptionAdapter::stripPlaceholderLoaderException);
}
代码示例来源:origin: VictorAlbertos/ReactiveCache
<E> Single<E> stripPlaceholderLoaderException(Throwable error) {
if (!(error instanceof CompositeException)) return Single.error(error);
return Single.fromObservable(Observable.just(((CompositeException)error).getExceptions())
.flatMapIterable(errors -> errors)
.filter(e -> !(e instanceof PlaceHolderLoader))
.toList().toObservable()
.flatMap(curatedErrors -> {
if (curatedErrors.size() == 1) return Observable.error(curatedErrors.get(0));
else return Observable.error(new CompositeException(curatedErrors));
}));
}
代码示例来源:origin: VictorAlbertos/ReactiveCache
/**
* Read from cache and throw if no data is available.
*/
public final Single<T> read() {
return Single.defer(() ->
Single.fromObservable(builder.processorProviders
.<T>process(getConfigProvider(exceptionAdapter.placeholderLoader(),
new EvictDynamicKey(false), false, null))))
.onErrorResumeNext(exceptionAdapter::stripPlaceholderLoaderException);
}
内容来源于网络,如有侵权,请联系作者删除!