RxManager.java 文件源码

java
阅读 25 收藏 0 点赞 0 评论 0

项目:nextop-client 作者:
private Observable<ManagedState> getState(final Id id) {
    return Observable.create(new Observable.OnSubscribe<ManagedState>() {
        @Override
        public void call(final Subscriber<? super ManagedState> subscriber) {
            final ManagedState state = state(id, true);

            subscriber.add(BooleanSubscription.create(new Action0() {
                @Override
                public void call() {
                    state.removeSubscriber(subscriber);
                }
            }));

            int publishCount = state.publishCount;
            state.addSubscriber(subscriber);
            // check to avoid double-publishing
            if (publishCount == state.publishCount) {
                subscriber.onNext(state);
            }
        }
    });
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号