io.reactivex.Single.filter()方法的使用及代码示例

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

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

Single.filter介绍

[英]Filters the success item of the Single via a predicate function and emitting it if the predicate returns true, completing otherwise.

Scheduler: filter does not operate by default on a particular Scheduler.
[中]通过谓词函数过滤单个的成功项,并在谓词返回true时发出它,否则完成。
调度程序:默认情况下,过滤器不会在特定调度程序上运行。

代码示例

代码示例来源:origin: Polidea/RxAndroidBle

private Maybe<List<BluetoothGattService>> getListOfServicesFromGatt() {
  return Single.fromCallable(new Callable<List<BluetoothGattService>>() {
    @Override
    public List<BluetoothGattService> call() {
      return bluetoothGatt.getServices();
    }
  })
      .filter(new Predicate<List<BluetoothGattService>>() {
        @Override
        public boolean test(List<BluetoothGattService> bluetoothGattServices) {
          return bluetoothGattServices.size() > 0;
        }
      });
}

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

@Override
  public MaybeSource<Object> apply(Single<Object> v) throws Exception {
    return v.filter(Functions.alwaysTrue());
  }
});

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

@Test(expected = NullPointerException.class)
public void singleFilterNull() {
  Single.just(1).filter(null);
}

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

@Test
public void singleFilterThrows() {
  Single.just(1).filter(new Predicate<Integer>() {
    @Override
    public boolean test(Integer v) throws Exception {
      throw new IOException();
    }
  }).test().assertFailure(IOException.class);
}

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

@Test
public void singleFilterFalse() {
  Single.just(2).filter(new Predicate<Integer>() {
    @Override
    public boolean test(Integer v) throws Exception {
      return v == 1;
    }
  }).test().assertResult();
}

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

@Test
public void singleFilterTrue() {
  Single.just(1).filter(new Predicate<Integer>() {
    @Override
    public boolean test(Integer v) throws Exception {
      return v == 1;
    }
  }).test().assertResult(1);
}

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

@Test
public void justConditional() {
  Single.just(1)
  .doAfterSuccess(afterSuccess)
  .filter(Functions.alwaysTrue())
  .subscribeWith(to)
  .assertResult(1);
  assertEquals(Arrays.asList(1, -1), values);
}

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

@Test
public void dispose() {
  TestHelper.checkDisposed(PublishSubject.create().singleOrError().filter(Functions.alwaysTrue()));
}

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

@Test
public void testIssue1522() {
  // https://github.com/ReactiveX/RxJava/issues/1522
  assertNull(Observable
      .empty()
      .count()
      .filter(new Predicate<Long>() {
        @Override
        public boolean test(Long v) {
          return false;
        }
      })
      .blockingGet());
}

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

@Test
public void errorConditional() {
  Single.<Integer>error(new TestException())
  .doAfterSuccess(afterSuccess)
  .filter(Functions.alwaysTrue())
  .subscribeWith(to)
  .assertFailure(TestException.class);
  assertTrue(values.isEmpty());
}

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

@Test
public void error() {
  Single.error(new TestException())
  .filter(Functions.alwaysTrue())
  .test()
  .assertFailure(TestException.class);
}

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

@Test
public void justConditional() {
  Single.just(1)
  .doAfterTerminate(afterTerminate)
  .filter(Functions.alwaysTrue())
  .subscribeWith(to)
  .assertResult(1);
  assertAfterTerminateCalledOnce();
}

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

@Test
public void errorConditional() {
  Single.<Integer>error(new TestException())
  .doAfterTerminate(afterTerminate)
  .filter(Functions.alwaysTrue())
  .subscribeWith(to)
  .assertFailure(TestException.class);
  assertAfterTerminateCalledOnce();
}

代码示例来源:origin: pockethub/PocketHub

private void refreshGist() {
  refreshGistTaskFactory.create(getActivity(), gistId)
      .refresh()
      .subscribeOn(Schedulers.io())
      .observeOn(AndroidSchedulers.mainThread())
      .filter(fullGist -> isAdded())
      .as(AutoDisposeUtils.bindToLifecycle(this))
      .subscribe(fullGist -> {
        FragmentActivity activity = getActivity();
        if (activity instanceof OnLoadListener) {
          ((OnLoadListener<Gist>) activity).loaded(fullGist.getGist());
        }
        starred = fullGist.getStarred();
        loadFinished = true;
        gist = fullGist.getGist();
        comments = fullGist.getComments();
        updateList(fullGist.getGist(), fullGist.getComments());
      }, e -> ToastUtils.show(getActivity(), R.string.error_gist_load));
}

代码示例来源:origin: WaylonBrown/LifecycleAwareRx

/**
 * NOTE: This throws a NoSuchElementException if the item is filtered out since a Single can't be empty, so the 
 * onError is called after onDestroy() when using Single().
 *
 * @param upstream
 * @return
 */
@Override
public SingleSource<T> apply(Single<T> upstream) {
  Single<T> transformedStream = upstream
      .cache() // Cache to replay emitted values to late subscriber
      .filter(filterIfDestroyedPredicate) // Filter to stop emitting items once LifecycleOwner is destroyed
      .toSingle();
  setReactiveType((R)transformedStream);
  
  return transformedStream;
}

代码示例来源:origin: io.reactivex.rxjava2/rxjavafx

public static <T> Maybe<T> fromDialogSource(final Dialog<T> dialog) {
  return Single.fromCallable(dialog::showAndWait)
      .subscribeOn(JavaFxScheduler.platform())
      .filter(Optional::isPresent)
      .map(Optional::get);
}

代码示例来源:origin: radixdlt/radixdlt-java

public Observable<RadixJsonRpcClient> getRadixClients(Set<Long> shards) {
  return peers.flatMapMaybe(peer -> peer.servesShards(shards)).map(RadixPeer::getRadixClient)
    .flatMapMaybe(client -> client.checkAPIVersion().filter(b -> b).map(b -> client));
}

代码示例来源:origin: gravitee-io/graviteeio-access-management

private Single<List<Client>> upgradeClients(Domain domain) {
  return clientService.findByDomain(domain.getId())
      .filter(clients -> clients != null)
      .flatMapObservable(clients -> Observable.fromIterable(clients))
      .filter(this::mustBeUpgraded)
      .flatMapSingle(this::upgradeClient)
      .toList();
}

代码示例来源:origin: gravitee-io/graviteeio-access-management

private Single<List<Scope>> createRoleScopes(Domain domain) {
  return roleService.findByDomain(domain.getId())
      .filter(roles -> roles != null)
      .flatMapObservable(roles -> Observable.fromIterable(roles))
      .filter(role -> role.getPermissions() != null)
      .flatMap(role -> Observable.fromIterable(role.getPermissions()))
      .flatMapSingle(scope -> createScope(domain.getId(), scope))
      .toList();
}

代码示例来源:origin: gravitee-io/graviteeio-access-management

private Single<List<Scope>> createClientScopes(Domain domain) {
  return clientService.findByDomain(domain.getId())
      .filter(clients -> clients != null)
      .flatMapObservable(clients -> Observable.fromIterable(clients))
      .filter(client -> client.getScopes() != null)
      .flatMap(client -> Observable.fromIterable(client.getScopes()))
      .flatMapSingle(scope -> createScope(domain.getId(), scope))
      .toList();
}

相关文章

微信公众号

最新文章

更多