【发布时间】:2019-01-29 04:59:42
【问题描述】:
在 RxJava2 中,Observer 接口和 Subscriber 接口中引入了一个新方法,命名为 -
interface Subscriber<T>{
@Override
public void onSubscribe(Subscription s)
{
s.cancel();
s.request(5);
}
....
}
和
interface Observer<T>{
@Override
public void onSubscribe(Disposable d)
{
d.dispose();
}
....
}
我看到 onSubscribe() 方法总是在 onNext(T t) 之前第一次调用,我也阅读了该文档,发现它的用途是如果您的工作是使用特定的 Observable 完成的,则用于处置资源。
问题是我们如何才能知道我们的工作已经完成并dispose或cancel来源或来源与消费者之间的联系? 那么调用 d.dispose() 和 s.cancel() 或 s.request(7) 的更好方法是什么? p>
【问题讨论】:
-
我不确定我是否理解您的要求。
how we can know initially that our job is done什么意思? -
我的意思是当我可以确定这是调用 d.dispose() 的正确时间时,因为在刚刚调用之后,与 observable 的连接将会丢失。那么我应该什么时候调用它,在什么条件下?
标签: rx-java rx-android rx-java2