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

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

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

Observable.defaultIfEmpty介绍

[英]Returns an Observable that emits the items emitted by the source ObservableSource or a specified default item if the source ObservableSource is empty.

Scheduler: defaultIfEmpty does not operate by default on a particular Scheduler.
[中]返回发出源ObservableSource发出的项的Observable,如果源ObservableSource为空,则返回指定的默认项。
调度程序:默认情况下,defaultIfEmpty不会在特定调度程序上运行。

代码示例

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

  1. @Test(expected = NullPointerException.class)
  2. public void defaultIfEmptyNull() {
  3. just1.defaultIfEmpty(null);
  4. }

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

  1. @Override
  2. public ObservableSource<T> apply(final T v) throws Exception {
  3. ObservableSource<U> o = ObjectHelper.requireNonNull(itemDelay.apply(v), "The itemDelay returned a null ObservableSource");
  4. return new ObservableTake<U>(o, 1).map(Functions.justFunction(v)).defaultIfEmpty(v);
  5. }
  6. }

代码示例来源:origin: pwittchen/ReactiveNetwork

  1. @Override public Observable<Connectivity> observeNetworkConnectivity(final Context context) {
  2. final IntentFilter filter = new IntentFilter();
  3. filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
  4. return Observable.create(new ObservableOnSubscribe<Connectivity>() {
  5. @Override public void subscribe(final ObservableEmitter<Connectivity> emitter)
  6. throws Exception {
  7. final BroadcastReceiver receiver = new BroadcastReceiver() {
  8. @Override public void onReceive(Context context, Intent intent) {
  9. emitter.onNext(Connectivity.create(context));
  10. }
  11. };
  12. context.registerReceiver(receiver, filter);
  13. Disposable disposable = disposeInUiThread(new Action() {
  14. @Override public void run() {
  15. tryToUnregisterReceiver(context, receiver);
  16. }
  17. });
  18. emitter.setDisposable(disposable);
  19. }
  20. }).defaultIfEmpty(Connectivity.create());
  21. }

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

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

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

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

代码示例来源:origin: redisson/redisson

  1. @Override
  2. public ObservableSource<T> apply(final T v) throws Exception {
  3. ObservableSource<U> o = ObjectHelper.requireNonNull(itemDelay.apply(v), "The itemDelay returned a null ObservableSource");
  4. return new ObservableTake<U>(o, 1).map(Functions.justFunction(v)).defaultIfEmpty(v);
  5. }
  6. }

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

  1. @Test
  2. @Ignore("Subscribers should not throw")
  3. public void testEmptyButClientThrows() {
  4. final Observer<Integer> o = TestHelper.mockObserver();
  5. Observable.<Integer>empty().defaultIfEmpty(1).subscribe(new DefaultObserver<Integer>() {
  6. @Override
  7. public void onNext(Integer t) {
  8. throw new TestException();
  9. }
  10. @Override
  11. public void onError(Throwable e) {
  12. o.onError(e);
  13. }
  14. @Override
  15. public void onComplete() {
  16. o.onComplete();
  17. }
  18. });
  19. verify(o).onError(any(TestException.class));
  20. verify(o, never()).onNext(any(Integer.class));
  21. verify(o, never()).onComplete();
  22. }
  23. }

代码示例来源:origin: uk.os.vt/vt

  1. @Override
  2. public ObservableSource<List<Entry>> apply(Entry entry) throws Exception {
  3. return storage.getEntry(entry.getZoomLevel(), entry.getColumn(), entry.getRow())
  4. .map(new Function<Entry, List<Entry>>() {
  5. @Override
  6. public List<Entry> apply(Entry newEntry) throws Exception {
  7. return Arrays.asList(entry, newEntry);
  8. }
  9. }).defaultIfEmpty(Arrays.asList(null, entry));
  10. }
  11. };

代码示例来源:origin: uk.os.vt/vt

  1. @SuppressFBWarnings("RV_RETURN_VALUE_IGNORED")
  2. private void updateMetadata() {
  3. storage.getMetadata().defaultIfEmpty(new Metadata.Builder(schema)
  4. .setAttribution(System.getProperty("user.name")).build())
  5. .subscribe(new Consumer<Metadata>() {
  6. @Override
  7. public void accept(Metadata metadata) throws Exception {
  8. Metadata.Builder newMetadata = new Metadata.Builder(metadata);
  9. for (FluentLayer layer : layers) {
  10. if (!isLayerInMetadata(metadata, layer.getName())) {
  11. newMetadata.addLayer(layer.getMetadata());
  12. }
  13. }
  14. storage.putMetadata(Single.just(newMetadata.build()));
  15. }
  16. });
  17. }

相关文章

Observable类方法