doOnNext 運算子

每當源 Observable 發出一個專案時,doOnNext 運算子都會呼叫。它可用於除錯目的,對發出的專案應用一些操作,記錄等…

Observable.range(1, 3)
    .doOnNext(value -> System.out.println("before transform: " + value))
    .map(value -> value * 2)
    .doOnNext(value -> System.out.println("after transform: " + value))
    .subscribe();

在下面的示例中,doOnNext 從未被呼叫,因為源 Observable 沒有發出任何內容,因為 Observable.empty() 在訂閱後呼叫了 onCompleted

Observable.empty()
    .doOnNext(item -> System.out.println("item: " + item))
    .subscribe();