例如:
public Future<String> test() {
Future<String> future = Future.succeededFuture();
return vertx.createSharedWorkerExecutor("test")
.executeBlocking(y -> {
return future.map("Something");
})
.compose(x -> {
return future;
});
}
我想在Blocking代码中返回String,但它总是返回null。
您不需要像现在这样从外部定义Future
。
在您的代码中,y
已经是Promise
(Future
的下一个版本(
您的代码可以简化为:
public Future<String> test() {
return vertx.createSharedWorkerExecutor("test")
.executeBlocking(future -> {
return future.complete("Something");
});
}