我有一个接受Mono作为参数的方法。我只想从中得到实际的字符串。Googled但是除了调用Mono对象上的block(),没有找到答案,但是它会进行阻塞调用,所以要避免使用block()。如果可能的话,请建议其他方法。我之所以需要这个字符串,是因为在这个方法中,我需要用实际的字符串值调用另一个方法,比如print()。我明白这很容易,但我是反应性编程的新手。
代码:
public String getValue(Mono<String> monoString) {
// How to get actual String from param monoString
// and call print(String) method
}
public void print(String str) {
System.out.println(str);
}
从单字
获得字符串
而不使用阻塞调用并不容易,这是不可能的。根据定义。如果字符串
还不可用(mono
允许),则只能等待它出现,而这正是阻塞的意义所在。
不是“获取字符串
”,而是订阅
到mono
,当字符串
可用时(可能立即),您传递的订阅者
将获得该字符串。例如。
myMono.subscribe(
value -> Console.out.println(value),
error -> error.printStackTrace(),
() -> Console.out.println("completed without a value")
)
将打印mymono
产生的值或错误(value
的类型是string
,error
的类型是throwable
)。在https://projectreactor.io/docs/core/release/api/reactor/core/publisher/mono.html,还可以看到subscribe
的其他变体。
我尝试使处理程序和路由器类的Spring引导webflow。模型类是用户类。代码是 下面是webflux项目的处理程序类。在register方法中,我编写了id复制测试代码。但这是完全错误的。 我想提取的用户名或id字符串从Mono的Spring webflow.将需要任何评论。我被这部分卡住了。
我是Reactor编程新手,需要MONO/Flux方面的帮助 我有POJO课程 受雇者Java语言 我在访问服务时返回了Mono,我需要从Mono中提取名称作为字符串。 但这再次返回Mono而不是字符串。我需要从这个Mono中提取String值。
我在NoSQL文档db Photo和Property中有两个独立的集合,其中Photo有propertyId参数,这意味着我可以找到属于给定属性(如房子)的所有照片。通常情况下,如果没有反应,我只会: 就两行。如何在反应式编程中做到以上几点 不使用block()?`承担一项义务。findByPropertyId返回列表,在被动情况下返回通量。
我在许多地方看到了关于如何使用代码获取表头的示例 像这里:如何防止TableView从做TableColsta重新排序在javaFX 8? 但是这个代码为我返回。 如何到达然后?
我对反应性非常陌生,所以在范式转变中有点挣扎,但是也许有人能帮我克服这个问题? 我的控制器将Mono(称为“limit”)作为服务参数传递给我的服务。Mono在subscribe上发出一个整数,服务使用该整数执行其工作,该整数返回一个流量。 在我的服务方法中,我需要订阅mono,但我需要在我的服务方法(对其他endpoint进行web客户端REST调用)之前订阅mono,因为REST调用中需要限制
block()/blockfirst()/blocklast()正在阻塞,线程反应器-http-nio-2不支持这一点 这是正确的方法吗?还有另一种更好的方法来实现这一点?我也在想一些类似的事情: