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

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

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

Observable.lastOrError介绍

[英]Returns a Single that emits only the last item emitted by this Observable or signals a NoSuchElementException if this Observable is empty.

Scheduler: lastOrError does not operate by default on a particular Scheduler.
[中]返回一个仅发出此可观察对象发出的最后一项的单数,或者如果此可观察对象为空,则发出NosTouchElementException信号。
调度程序:默认情况下,lastOrError不会在特定调度程序上运行。

代码示例

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

  1. @Override
  2. public SingleSource<Object> apply(Observable<Object> o) throws Exception {
  3. return o.lastOrError();
  4. }
  5. });

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

  1. @Override
  2. public ObservableSource<Object> apply(Observable<Object> o) throws Exception {
  3. return o.lastOrError().toObservable();
  4. }
  5. });

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

  1. @Test
  2. public void lastOrErrorOneElement() {
  3. Observable.just(1)
  4. .lastOrError()
  5. .test()
  6. .assertNoErrors()
  7. .assertValue(1);
  8. }

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

  1. @Test
  2. public void lastOrErrorMultipleElements() {
  3. Observable.just(1, 2, 3)
  4. .lastOrError()
  5. .test()
  6. .assertNoErrors()
  7. .assertValue(3);
  8. }

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

  1. @Test
  2. public void lastOrErrorError() {
  3. Observable.error(new RuntimeException("error"))
  4. .lastOrError()
  5. .test()
  6. .assertNoValues()
  7. .assertErrorMessage("error")
  8. .assertError(RuntimeException.class);
  9. }

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

  1. @Test
  2. public void dispose() {
  3. TestHelper.checkDisposed(Observable.never().lastElement().toObservable());
  4. TestHelper.checkDisposed(Observable.never().lastElement());
  5. TestHelper.checkDisposed(Observable.just(1).lastOrError().toObservable());
  6. TestHelper.checkDisposed(Observable.just(1).lastOrError());
  7. TestHelper.checkDisposed(Observable.just(1).last(2).toObservable());
  8. TestHelper.checkDisposed(Observable.just(1).last(2));
  9. }

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

  1. @Test
  2. public void lastOrErrorNoElement() {
  3. Observable.empty()
  4. .lastOrError()
  5. .test()
  6. .assertNoValues()
  7. .assertError(NoSuchElementException.class);
  8. }

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

  1. @Test
  2. public void emptyLastOrErrorObservable() {
  3. Observable.empty()
  4. .lastOrError()
  5. .toObservable()
  6. .test()
  7. .assertFailure(NoSuchElementException.class);
  8. }
  9. }

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

  1. @Test
  2. public void errorLastOrErrorObservable() {
  3. Observable.error(new TestException())
  4. .lastOrError()
  5. .toObservable()
  6. .test()
  7. .assertFailure(TestException.class);
  8. }

代码示例来源:origin: akarnokd/RxJava2Jdk8Interop

  1. /**
  2. * Returns a CompletionStage that emits the last element of the Observable or
  3. * NoSuchElementException if the Observable is empty.
  4. * @param <T> the value type
  5. * @return the Function to be used with {@code Observable.to}.
  6. */
  7. public static <T> Function<Observable<T>, CompletionStage<T>> last() {
  8. return f -> {
  9. CompletableFuture<T> cf = new CompletableFuture<>();
  10. f.lastOrError().subscribe(cf::complete, cf::completeExceptionally);
  11. return cf;
  12. };
  13. }

代码示例来源:origin: com.microsoft.azure.v2/azure-client-runtime

  1. Single<HttpResponse> pollUntilDone() {
  2. return sendPollRequestWithDelay()
  3. .repeat()
  4. .takeUntil(new Predicate<HttpResponse>() {
  5. @Override
  6. public boolean test(HttpResponse ignored) {
  7. return isDone();
  8. }
  9. })
  10. .lastOrError();
  11. }

代码示例来源:origin: com.microsoft.azure.v2/azure-client-runtime

  1. /**
  2. * Creates a ServiceFuture from an observable representing a long-running operation.
  3. * @param observable The observable representing the long-running operation.
  4. * @param callback The callback to run when the service future is completed.
  5. * @param <T> The type of entity expected to be returned from the long-running operation.
  6. * @return A ServiceFuture representing the long-running operation.
  7. */
  8. public static <T> ServiceFuture<T> fromLRO(Observable<OperationStatus<T>> observable, ServiceCallback<T> callback) {
  9. Single<T> single = observable.lastOrError().map(new Function<OperationStatus<T>, T>() {
  10. @Override
  11. public T apply(OperationStatus<T> operationStatus) {
  12. return operationStatus.result();
  13. }
  14. });
  15. return ServiceFuture.fromBody(single.toMaybe(), callback);
  16. }
  17. }

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

  1. private Single<Domain> createOrUpdateSystemScopes(Domain domain) {
  2. return Observable.fromArray(io.gravitee.am.common.oidc.Scope.values())
  3. .flatMapSingle(scope -> createSystemScope(domain.getId(), scope))
  4. .lastOrError()
  5. .map(scope -> domain);
  6. }

代码示例来源:origin: akarnokd/akarnokd-misc

  1. @Test
  2. public void test() throws Exception {
  3. Observable<String> first = Observable.fromCallable(() -> "HEY").delay(250, TimeUnit.MILLISECONDS);
  4. Observable<Integer> second = Observable.fromCallable(() -> 1).delay(350, TimeUnit.MILLISECONDS);
  5. List<Observable<?>> observables = com.google.common.collect.Lists.newArrayList(first, second);
  6. Map<Long, Object> someWeirdMapWithObject = com.google.common.collect.ImmutableMap.of(
  7. 1L, new BrandBuilder(1),
  8. 2L, new BrandBuilder(2)
  9. );
  10. Observable
  11. .fromIterable(observables)
  12. .flatMap(task -> task.observeOn(Schedulers.computation()))
  13. // wait for all tasks to finish
  14. .lastOrError()
  15. .flattenAsObservable(x -> someWeirdMapWithObject.values())
  16. .<BrandBuilder>cast(BrandBuilder.class)
  17. .map(BrandBuilder::build)
  18. .toList().blockingGet();
  19. }

代码示例来源:origin: com.microsoft.azure/azure-storage-blob

  1. }, optionsReal.parallelism())
  2. .lastOrError();
  3. });

代码示例来源:origin: Azure/azure-storage-java

  1. }, optionsReal.parallelism())
  2. .lastOrError();
  3. });

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

  1. private Single<Domain> createSystemScopes(Domain domain) {
  2. return Observable.fromArray(io.gravitee.am.common.oidc.Scope.values())
  3. .flatMapSingle(systemScope -> {
  4. final String scopeKey = systemScope.getKey();
  5. NewSystemScope scope = new NewSystemScope();
  6. scope.setKey(scopeKey);
  7. scope.setClaims(systemScope.getClaims());
  8. scope.setName(systemScope.getLabel());
  9. scope.setDescription(systemScope.getDescription());
  10. return scopeService.create(domain.getId(), scope);
  11. })
  12. .lastOrError()
  13. .map(scope -> domain);
  14. }

代码示例来源:origin: io.gravitee.am.gateway.handlers/gravitee-am-gateway-handler

  1. .flatMapMaybe(authProvider -> authenticate0(client, authentication, authProvider))
  2. .takeUntil(userAuthentication -> userAuthentication.getUser() != null)
  3. .lastOrError()
  4. .flatMap(userAuthentication -> {
  5. io.gravitee.am.identityprovider.api.User user = userAuthentication.getUser();

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

  1. .flatMapMaybe(authProvider -> authenticate0(client, authentication, authProvider))
  2. .takeUntil(userAuthentication -> userAuthentication.getUser() != null)
  3. .lastOrError()
  4. .flatMap(userAuthentication -> {
  5. io.gravitee.am.identityprovider.api.User user = userAuthentication.getUser();

相关文章

Observable类方法