手记

RxJava之Subscription

源码
public interface Subscription {
    /**
     * Stops the receipt of notifications on the {@link Subscriber} that was registered when this Subscription
     * was received.
     * <p>
     * This allows unregistering an {@link Subscriber} before it has finished receiving all events (i.e. before
     * onCompleted is called).
     */
    void unsubscribe();

    /**
     * Indicates whether this {@code Subscription} is currently unsubscribed.
     *
     * @return {@code true} if this {@code Subscription} is currently unsubscribed, {@code false} otherwise
     */
    boolean isUnsubscribed();
}
Subscription对象
Observable.subscribe()方法可以返回一个Subscription的对象,即我们每次订阅都会返回.
方法
  • 只需要调用unsubscribe就可以取消订阅

  • subscription.isUnsubscribed() 用于判断是否取消订阅
    protected void unsubscribe() {
        if (subscription != null && !subscription.isUnsubscribed()) {
            subscription.unsubscribe();
        }
    }
0人推荐
随时随地看视频
慕课网APP