A subscriber is used to listen to events generated by a publisher. When a subscriber registers to a publisher, it receives events in the following order:
As a result, the subscriber has the following interface to handle all of these events:
public interface Subscriber<T> {
public void onSubscribe(Subscription s);
public void onNext(T t);
public void onError(Throwable t);
public void onComplete();
}
Let's cover each of these methods in detail, as follows:
- onSubscribe(Subscription s): As soon as a publisher has received a subscriber, it generates a subscription event. The generated subscription event is then received in the specified method.
- onNext (T): All data events generated by a publisher are received by the subscriber in the specified method. A publisher may or may not publish a data event before closing the stream.
- onCompletion()...