理解RxJava与响应式(1) - 响应式流
2018-05-03
Coding
RxJava
Java
👋 ‍️‍️阅读
❤️ 喜欢
💬 评论

理解RxJava与响应式(1) - 响应式流

Reactive Stream API

Reactive-streamsRxJava的唯一依赖,它是一项响应式编程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())。

Copyright © 2020-2022 Dean Xu. All Rights reserved.