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

x33g5p2x  于2022-01-19 转载在 其他  
字(4.4k)|赞(0)|评价(0)|浏览(198)

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

Flowable.lastOrError介绍

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

Backpressure: The operator honors backpressure from downstream and consumes the source Publisher in an unbounded manner (i.e., without applying backpressure). Scheduler: lastOrError does not operate by default on a particular Scheduler.
[中]返回仅发出此可流动项发出的最后一项的单个项,或者如果此可流动项为空,则发出NosTouchElementException信号。
背压:操作员接受来自下游的背压,并以无限制的方式(即不施加背压)消耗源发布服务器。调度程序:默认情况下,lastOrError不会在特定调度程序上运行。

代码示例

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

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

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

  1. @Override
  2. public Flowable<Object> apply(Flowable<Object> f) throws Exception {
  3. return f.lastOrError().toFlowable();
  4. }
  5. });

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

  1. @Test
  2. public void lastOrErrorError() {
  3. Flowable.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 lastOrErrorOneElement() {
  3. Flowable.just(1)
  4. .lastOrError()
  5. .test()
  6. .assertNoErrors()
  7. .assertValue(1);
  8. }

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

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

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

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

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

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

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

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

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

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

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

  1. /**
  2. * Returns a CompletionStage that emits the last element of the Flowable or
  3. * NoSuchElementException if the Flowable is empty.
  4. * @param <T> the value type
  5. * @return the Function to be used with {@code Flowable.to}.
  6. */
  7. public static <T> Function<Flowable<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.github.davidmoten/rxjava2-jdbc

  1. @SuppressWarnings("unchecked")
  2. private Single<TxWithoutValue> build() {
  3. return Single.defer(() -> {
  4. AtomicReference<Connection> con = new AtomicReference<Connection>();
  5. // set the atomic reference when transactedConnection emits
  6. Single<Connection> transactedConnection = b.connection //
  7. .map(c -> Util.toTransactedConnection(con, c));
  8. return Call //
  9. .createWithZeroOutParameters(transactedConnection, b.sql, parameterGroups(), b.params) //
  10. .materialize() //
  11. .filter(x -> !x.isOnNext()) //
  12. .<TxWithoutValue>flatMap(n -> Tx.toTx(n, con.get(), b.db)) //
  13. .doOnNext(tx -> {
  14. if (tx.isComplete()) {
  15. ((TxImpl<Object>) tx).connection().commit();
  16. }
  17. }) //
  18. .lastOrError();
  19. });
  20. }

代码示例来源:origin: davidmoten/rxjava2-jdbc

  1. @SuppressWarnings("unchecked")
  2. private Single<TxWithoutValue> build() {
  3. return Single.defer(() -> {
  4. AtomicReference<Connection> con = new AtomicReference<Connection>();
  5. // set the atomic reference when transactedConnection emits
  6. Single<Connection> transactedConnection = b.connection //
  7. .map(c -> Util.toTransactedConnection(con, c));
  8. return Call //
  9. .createWithZeroOutParameters(transactedConnection, b.sql, parameterGroups(), b.params) //
  10. .materialize() //
  11. .filter(x -> !x.isOnNext()) //
  12. .<TxWithoutValue>flatMap(n -> Tx.toTx(n, con.get(), b.db)) //
  13. .doOnNext(tx -> {
  14. if (tx.isComplete()) {
  15. ((TxImpl<Object>) tx).connection().commit();
  16. }
  17. }) //
  18. .lastOrError();
  19. });
  20. }

相关文章

Flowable类方法