【发布时间】:2022-01-16 09:30:57
【问题描述】:
我想在 Mono 处于活动状态时每秒执行一次操作。最好的方法是什么?
这是一个可行的选项,但似乎是一种解决方法:
// Some long life async action
Mono<String> asyncAction = Mono.delay(Duration.ofSeconds(60)).map(d -> "Hello");
Mono<String> periodicAction = Flux.interval(Duration.ofSeconds(1))
.doOnNext(d -> {
// Do something every second while the async action is running
})
.last()
.flatMap(d -> Mono.never());
Mono.firstWithSignal(asyncAction, periodicAction)
// Another logic
.subscribe();
【问题讨论】:
标签: java project-reactor