java中退订程序怎么写_如何在RxJava中的自定义Observable中获得观察者的退订操作的通知...
訂閱者抽象類實際上有一個方法add,可以添加將取消訂閱訂閱的訂閱.
def myObservable = Observable.create({ aSubscriber ->
val listener = {event ->
aSubscriber.onNext(event);
}
existingEventSource.addListener(listener)
// Adds a lambda to be executed when the Subscriber un-subscribes from your Observable
aSubscriber.add(Subscriptions.create(() -> existingEventSource.removeListener(listener)));
})
認為一個訂閱者作為觀察者訂閱您的可觀察;我們稱之為訂閱者.只要訂閱者仍然訂閱了Observable,Observable可以發(fā)出值.但是當訂閱者未訂閱時,應(yīng)停止.但是,如果我們希望在訂閱者取消訂閱時收到通知,我們可以注冊一個Action,以便在發(fā)生時運行.這是添加方法的用途.正如@dwursteisen在評論中提到的;您基本上注冊一個將在訂閱者取消訂閱時執(zhí)行的lambda.
也可以在不同的計劃程序上取消訂閱.請參閱rxanroid項目中的MainThreadSubscription,以了解如何實現(xiàn)這一點.
這是一個例子,說明如何使用它來取消訂閱主線程
aSubscriber.add(new MainThreadSubscription() {
@Override
protected void onUnsubscribe() {
existingEventSource.removeListener(listener);
}
});
總結(jié)
以上是生活随笔為你收集整理的java中退订程序怎么写_如何在RxJava中的自定义Observable中获得观察者的退订操作的通知...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux中Shell的命令替换用法笔记
- 下一篇: 意畅科技:亲近用户 升级服务 谋就网