gpt4 book ai didi

java - 如何在 Java Reactor 链中使用 void 方法?

转载 作者:行者123 更新时间:2023-12-01 11:13:46 27 4
gpt4 key购买 nike

考虑这个代码:

import reactor.core.publisher.Mono;

public class Main {

public static void main(String[] args) {
Mono.just(1)
.map(Main::return_int) // is ok
// .map(Main::return_void) // is not ok
.subscribe();
}

private static void return_void(int input) {
// do stuff with input
}

private static int return_int(int input) {
return input;
}
}

显然禁止使用 Mono#map使用 void 参数,我得到 error: method map in class Mono<T> cannot be applied to given types; (...)
现在我该如何调用这个方法 return_void()在一个链中?

我应该使用其他运算符而不是 #map ?或者除了包装别无选择 return_void()进入返回 Mono< Void> 的方法?

最佳答案

Mono#doOnNext这不会改变流程,但允许您执行副作用(返回 void 的东西,就像您的情况一样)

另外,考虑使用 Mono#handle继续或调用 sink.error(...)当值不满足您的条件而不是从您的 void 中抛出时功能。

关于java - 如何在 Java Reactor 链中使用 void 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56965839/

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