gpt4 book ai didi

java - 如何在 Java 中的某个时间后停止执行 Flux?

转载 作者:行者123 更新时间:2023-12-05 02:52:14 45 4
gpt4 key购买 nike

如何在 Flux 中停止发布(Streaming) 1s,如果还有数,就不公布了。例如在 1000 个数字之后,则不会打印它们。

@Test
public void test() {

Flux.range(0, 20000)
// hier
.delayElements(Duration.ofMillis(1))
.parallel(2)
.runOn(Schedulers.parallel())
.doOnNext(i -> {
System.out.println(i);

})
.sequential()
.blockLast();

}

最佳答案

您可以使用 Flux.take(Duration)使 Flux 在一定时间后完成。

对于您发布的代码和 1 秒的阈值,它看起来像这样:

Flux.range(0, 20000)
// hier
.delayElements(Duration.ofMillis(1))
.parallel(2)
.runOn(Schedulers.parallel())
.doOnNext(i -> {
System.out.println(i);
})
.sequential()
.take(Duration.ofSeconds(1)) // <--
.blockLast();

关于java - 如何在 Java 中的某个时间后停止执行 Flux?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62703852/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com