CORE CONCEPTS OF RXJAVA2

Rxjava2的核心理念是“观察者模式”,即”观察者”观察”被观察者”。举一个简单的例子:

Observable<Time> clock =
        Observable.create(emitter -> {
            Time time = getTime()
            emitter.onNext(time)
})

时钟作为一个被观察者,源源不断地产生时间。

DisposableObserver<Time> you =
        clock.subscribeWith(new
                DisposableObserver<Time>() {
                    @override
                    public void onNext(Time time) {
                        youDoSomething(time) or
                        seeSomebodyDoSomething(time)
                    }
})

你作为一个观察者,订阅时钟,获得时间。你根据时间做着自己该做、想做的事,或者看着别人做他或他们该做、想做的事。

最后的最后

if(youAreDying()) {
    if(you != null && !you.isDisposed()) {
        you.dispose()
    }
};

当你离开这个世界,时间对你已毫无意义,你取消订阅,与时钟断开联系。