理解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()
)。