import io.reactivex.Observable;
import org.junit.Test;
/**
* @description: 测试onNext、onComplete、doOnNext、doFinally、doAfterTerminate执行顺序
* @author: lizz
* @date: 2020/11/17 17:56
*/
public class ExeOrder {
@Test
public void orderTester() {
Observable.just("Hello Tester1")
.doOnNext(s -> System.out.println("doOnNext:" + s))
.doFinally(() -> System.out.println("doFinally1"))
.doAfterTerminate(() -> System.out.println("doAfterTerminate1"))
.doFinally(() -> System.out.println("doFinally2"))
.doAfterTerminate(() -> System.out.println("doAfterTerminate2"))
.subscribe(
s -> System.out.println("onNext:" + s),
throwable -> System.out.println("onError" + throwable),
() -> System.out.println("onComplete"));
System.out.println("*******调整顺序**********");
//调整顺序
Observable.just("Hello Tester2")
.doAfterTerminate(() -> System.out.println("doAfterTerminate1"))
.doFinally(() -> System.out.println("doFinally1"))
.doOnNext(s -> System.out.println("doOnNext:" + s))
.doAfterTerminate(() -> System.out.println("doAfterTerminate2"))
.doFinally(() -> System.out.println("doFinally2"))
.subscribe(
s -> System.out.println("onNext:" + s),
throwable -> System.out.println("onError" + throwable),
() -> System.out.println("onComplete"));
}
}
reactor的执行顺序
最新推荐文章于 2025-03-30 17:46:54 发布