RxJava 2中 Observer的onComplete()的调用情况的探索

RxJava 2中 Observer的onComplete()的调用情况的探索_第1张图片

对应代码

        Observable.create(new ObservableOnSubscribe() {
            // 第一步:初始化Observable
            @Override
            public void subscribe(@NonNull ObservableEmitter e) throws Exception {
                Log.e(TAG, "Observable emit 1" + "\n");
                e.onNext(10);
                Log.e(TAG, "Observable emit 2" + "\n");
                e.onNext(11);
                Log.e(TAG, "Observable emit 3" + "\n");
                e.onNext(12);
               // e.onComplete();
                Log.e(TAG, "Observable emit 4" + "\n" );
                e.onNext(13);
                e.onComplete();
            }

当上方执行e.onComplete()时 下方才会执行onComplete()

而被阻断或者Error或者不发出上方onComplete()的情况 将不会执行onComplete()

 

    /**
     * Notifies the Observer that the {@link Observable} has finished sending push-based notifications.
     * 

* The {@link Observable} will not call this method if it calls {@link #onError}. */ void onComplete(); 官方解释

 

你可能感兴趣的:(rxjava,rxjava)