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可以发出值.但是当订阅者未订阅时,应停止.但是,如果我们希望在订阅者取消订阅时收到通知,我们可以注册一个Action,以便在发生时运行.这是添加方法的用途.正如@dwursteisen在评论中提到的;您基本上注册一个将在订阅者取消订阅时执行的lambda.

也可以在不同的计划程序上取消订阅.请参阅rxanroid项目中的MainThreadSubscription,以了解如何实现这一点.

这是一个例子,说明如何使用它来取消订阅主线程

aSubscriber.add(new MainThreadSubscription() {

@Override

protected void onUnsubscribe() {

existingEventSource.removeListener(listener);

}

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值