订阅篇
从大神的播客里面看到的,订阅的操作虽然只是调用一句代码:
observable.subscribe(observer);
或者是:
observable.subscribe(subscriber);
但是内部调用时期很复杂的,最起码有以下几步:
public Subscription subscribe(Subscriber subscriber) {
subscriber.onStart();
onSubscribe.call(subscriber);
return subscriber;
}
也就是先走onStart()方法,可以在里面清空之前的数据等操作。
然后才是调用onSubscribe.call(),这一步才是调用观察者的
onNext、onCompeleted、onError等操作,最后还返回了subscriber
,之所以最后还将这个穿进去的subscriber返回是为了方便取消
订阅,但是记住要判断状态。
从大神的播客里面看到的,订阅的操作虽然只是调用一句代码:
observable.subscribe(observer);
或者是:
observable.subscribe(subscriber);
但是内部调用时期很复杂的,最起码有以下几步:
public Subscription subscribe(Subscriber subscriber) {
subscriber.onStart();
onSubscribe.call(subscriber);
return subscriber;
}
也就是先走onStart()方法,可以在里面清空之前的数据等操作。
然后才是调用onSubscribe.call(),这一步才是调用观察者的
onNext、onCompeleted、onError等操作,最后还返回了subscriber
,之所以最后还将这个穿进去的subscriber返回是为了方便取消
订阅,但是记住要判断状态。