Soy nuevo en el marco VertX (y la programación reactiva también). cuando leí sobre 'Futuro', que no entiendo lo que es el uso del método 'más completa', y cuándo se debe utilizar desde que? Voy a apreciar si alguien me podría ayudar?
Métodos asincrónicos Vert.x se definen a menudo el uso de un Handler<AsyncResult<X>>
parámetro. Este parámetro es la devolución de llamada se invoca cuando finaliza la operación.
vertx.createHttpServer().listen(ar -> {
// callback implementation
});
Como habrá notado, en las últimas versiones de Vert.x, unos Future<X>
instrumentos Handler<AsyncResult<X>>
para que pueda crear un futuro y utilizarla directamente como un parámetro de funcionamiento asíncrono:
Future<HttpServer> serverFuture = Future.future();
vertx.createHttpServer().listen(future);
Y a continuación, puede utilizar los métodos futuros como map
o compose
.
En versiones anteriores, un futuro no era un controlador para resultados asíncronos, por lo que se tenía que utilizar el completer
método:
Future<HttpServer> serverFuture = Future.future();
vertx.createHttpServer().listen(future.completer());
A partir de 3.7.0, el completer
método es obsoleto y se eliminará en la versión 4.