如何解决具有并发 1 的 skipUntil 和 flatMap 在 Reactor 中挂起
我在 Reactor (v. 3.4.2) 中使用 skipUntil
和 flatMap(fn,concurrency)
运算符和 concurrency=1
时遇到了奇怪的行为。管道挂起。
为了说明我的意思,这里有一个简短的例子,它按我的预期工作:
Flux.range(1,5)
.skipUntil(v -> v > 1)
.flatMap(v -> Mono.just(v))
.doOnNext(System.out::println)
.blockLast();
它将 2
、3
、4
和 5
打印到单独的行。但是,如果我向 1
运算符添加等于 flatMap
的并发参数,则执行会挂起:
Flux.range(1,5)
.skipUntil(v -> v > 1)
.flatMap(v -> Mono.just(v),1)
.doOnNext(System.out::println)
.blockLast();
我不知道我是否遗漏了什么,或者 skipUntil
有一些错误行为,在它跳过第一个项目后,它不会从上游请求下一个。第二个例子有效吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。