如何使用 RxJava 每 1 秒重新检查一次?

How can I recheck every 1 second using RxJava?

RxJava有没有什么方法可以复查变量是否为null,比如每1秒复查一次或者给变量赋值的时候复查?

String x;

Completable.create(emitter -> {
    if (x != null)
        emitter.onComplete();
}).timeout(10, TimeUnit.SECONDS).subscribe();

是的,开始一个间隔并在其他一些运算符中读取变量的值。请注意,为了安全起见,您需要一个 volatile 变量:

volatile String x;

Observable.interval(1, TimeUnit.SECONDS)
.takeUntil(t -> x != null)
.ignoreElements()
.subscribe(() -> System.out.println("Done!"));

Observable.timer(3500, TimeUnit.MILLISECONDS)
.subscribe(t -> { x = "value"; });