gpt4 book ai didi

android - 使用 Reactivex 的消费者接口(interface)

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:55:57 27 4
gpt4 key购买 nike

我是 ReactiveX 的新手。我是通过阅读源代码来学习它的。一切都那么清晰,但突然间我得到了一个名为“Consumer”的词,它是一个接口(interface)。它被用来代替观察者。

谁能告诉我它到底做了什么?

我点击了几个链接,但他们都只说了一个声明 Consumer 是一个接受单个值的功能接口(interface)(回调)。

我想知道它的确切工作原理。

  1. 这是什么?
  2. 我们为什么需要它?
  3. 你如何使用它?
  4. 它会取代 Observer 吗?如果是,如何以及为什么?

最佳答案

Consumer是一个简单的 Java 接口(interface),它接受 T 类型的变量。就像你说的那样,它用于回调。

例子:

import io.reactivex.functions.Consumer;

Flowable.just("Hello world").subscribe(new Consumer<String>() {
@Override public void accept(String s) {
System.out.println(s);
}
});

为什么有效?我们如何使用消费者而不是观察者?

RxJava 简单地创建一个 Observer,将 Consumer 传递给它,然后在 onNext 中调用它

更新

LambdaObserver 是一种观察者,由四个功能接口(interface)创建并将它们用作回调。它主要用于使用 java 8 lambda expressions .它看起来像这样:

Observable.just(new Object())
.subscribe(
o -> processOnNext(o),
throwable -> processError(throwable),
() -> processCompletion(),
disposable -> processSubscription()
);

关于android - 使用 Reactivex 的消费者接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46116563/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com