gpt4 book ai didi

java - 关于Rxjava的一些概念: Observer pattern, and event

转载 作者:行者123 更新时间:2023-12-02 03:35:31 24 4
gpt4 key购买 nike

我读了一些页面,它定义 Rxjava 是一个使用 Java VM 的可观察序列编写异步和基于事件的程序的库。它是基于观察者模式的。

Observable observable = Observable.create(new Observable.OnSubscribe<String>() {
@Override
public void call(Subscriber<? super String> subscriber) {
subscriber.onNext("Hello");
subscriber.onNext("Hi");
subscriber.onNext("Aloha");
subscriber.onCompleted();
}

});

在我看来,观察者模式就像按钮和按钮的监听器。如果单击按钮,按钮将创建一个事件来通知监听器运行。

问题是:

  1. 我对按钮和监听器概念的理解正确吗?
  2. 我发现上面的代码文章说它将立即运行,我可以不立即通知观察者吗?在这个例子中,我想发送我输入的任何字符串而不是这三个字符串。

最佳答案

看看PublishSubject。它既是您可以订阅的可观察源,也可以向其发送事件。就 UI 按钮而言,您可以这样做:

final PublishSubject<String> subject = PublishSubject.create();

final Observable<String> o =
subject.doOnNext(...)
.doOnError(...)
.subscribe();

在按钮监听器中:

public void onEvent(Event event) {
subject.onNext(event.name());
}

关于java - 关于Rxjava的一些概念: Observer pattern, and event,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37494636/

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