我想建立一个继承自的事件代理类Observable<EventArgs>。在Rx的.NET实现中,您可以简单地实现IObservable<EventArgs>; 此外,在.NET中,该publish()方法仅接受您希望订阅者接收的参数。
有人可以解释一下这是如何用Java完成的吗?我只想要一个班级固有的行为Observable<Foo>。
在大多数情况下,没有必要实现自己的Observable继承程序。有很多fabric方法可以创建Observable并处理其行为。例如:
Observable.create(new ObservableOnSubscribe<String>() {
@Override public void subscribe(ObservableEmitter<String> emitter) throws Exception {
emitter.onNext("New event");
emitter.onError(new Error());
emitter.onComplete();
}
});
Run Code Online (Sandbox Code Playgroud)
但是,如果您确实需要精确地创建继承者,也不难。
class MarkedObservable extends Observable<String> {
@Override protected void subscribeActual(Observer<? super String> observer) {
observer.onNext("Message");
observer.onError(new Error());
observer.onComplete();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
378 次 |
| 最近记录: |