如何调试RxJava-可观察的方法调用/链
Xn_warm
・1 分钟阅读
当你需要调试RxJava Observable方法调用链时,可以使用doOnNext方法记录当前值或使用println将它们打印到STDOUT或STDERR。下面是RxJava开发人员的一个例子,其中调试输出使用AndroidLog.d
方法记录:
Observable<Boolean> isFormValidObservable = ValidationUtils.and( isCreditCardNumberValid .doOnNext(value -> Log.d( TAG, "isCreditCardNumberValid:" + value ), isCheckSumValid, isCvcCodeValid );
下面是来自此grokkingandroid.com帖子的第二个例子,它显示了一个可观察链中的几个doOnNext
调用:
Observable someObservable = Observable .from(Arrays.asList(new Integer[]{2, 3, 5, 7, 11})) .doOnNext(System.out::println) .filter(prime -> prime % 2 != 0) .doOnNext(System.out::println) .count() .doOnNext(System.out::println) .map(number -> String.format("Contains %d elements", number));
doOnNext
很酷,因为它允许你执行调试/日志记录,而不会破坏可观察到的方法调用链。