【发布时间】:2020-05-13 05:58:11
【问题描述】:
如果,在main() 方法中,我执行这个
Flux.just(1,2)
.log()
.subscribe();
我在控制台中得到了这个:
[ INFO] (main) | onSubscribe([Synchronous Fuseable] FluxArray.ArraySubscription)
[ INFO] (main) | request(unbounded)
[ INFO] (main) | onNext(1)
[ INFO] (main) | onNext(2)
[ INFO] (main) | onComplete()
如果我使用interval() 方法而不是just():
Flux.interval(Duration.ofMillis(100))
.take(2)
.log()
.subscribe();
元素不会被记录,除非我添加 Thread.sleep() 这给了我:
[ INFO] (main) onSubscribe(FluxTake.TakeSubscriber)
[ INFO] (main) request(unbounded)
[ INFO] (parallel-1) onNext(0)
[ INFO] (parallel-1) onNext(1)
[ INFO] (parallel-1) onComplete()
问题是:为什么我需要暂停线程才能真正触发订阅?
【问题讨论】:
标签: project-reactor