理解RxJava与响应式(1) - 响应式流
2018-05-03
Coding
RxJava
Java
👋 ️️阅读
❤️ 喜欢
💬 评论
🖨️ 打印
理解RxJava与响应式(1) - 响应式流
Reactive Stream API
Reactive-streams 是 RxJava的唯一依赖,它是一项响应式编程API标准,已被java标准库收录。
Reactive-streams只定义了4个接口共计7个方法,这7个方法构成了整个Reactive世界。
Publisher<T>
void subscribe(Subscriber<? super T> subscriber)
Subscriber<T>
void onSubscribe(Subscription s);
void onNext(T t);
void onError(Throwable t);
void onComplete();
Subscription
void request(long n);
void cancel();
由于这些方法都太直观了没什么好说的,我就举个例子:
- 我(
Subscriber)向KFC(Publisher)订购(subscribe(Dean))了5块吮指原味鸡。 - KFC把订单连同兑换券(
Subscription)发送(onSubscribe(5块鸡的订单))给我。 - 当我想吃鸡的时候,我就向KFC要一块鸡(
request(1)),KFC就会给我一块鸡(onNext(鸡))。 - 如果有一天KFC倒闭了,KFC得通知我(
onError(倒闭Exception))。 - 如果我5块鸡吃完了,KFC也得通知我(
onCompelete())。 - 如果有一天我不想吃了,我就告诉KFC不要了(
cancel())。