vertx中未来的完成方法有什么用?
what is the usage of completer method of future in vertx?
我是 VertX 框架的新手(也是响应式编程)。当我读到 'Future' 时,我不明白 'completer' 方法的用法是什么,什么时候必须使用它?如果有人能帮助我,我将不胜感激?
Vert.x 异步方法通常使用 Handler<AsyncResult<X>>
参数定义。该参数是操作完成时调用的回调。
vertx.createHttpServer().listen(ar -> {
// callback implementation
});
如您所见,在 Vert.x 的最新版本中,Future<X>
实现了 Handler<AsyncResult<X>>
因此您可以创建一个 future 并将其直接用作异步操作参数:
Future<HttpServer> serverFuture = Future.future();
vertx.createHttpServer().listen(future);
然后您可以使用 map
或 compose
等未来的方法。
在旧版本中,future 不是异步结果的处理程序,因此您必须使用 completer
方法:
Future<HttpServer> serverFuture = Future.future();
vertx.createHttpServer().listen(future.completer());
从 3.7.0 开始,completer
方法已弃用,并将在版本 4 中删除。
我是 VertX 框架的新手(也是响应式编程)。当我读到 'Future' 时,我不明白 'completer' 方法的用法是什么,什么时候必须使用它?如果有人能帮助我,我将不胜感激?
Vert.x 异步方法通常使用 Handler<AsyncResult<X>>
参数定义。该参数是操作完成时调用的回调。
vertx.createHttpServer().listen(ar -> {
// callback implementation
});
如您所见,在 Vert.x 的最新版本中,Future<X>
实现了 Handler<AsyncResult<X>>
因此您可以创建一个 future 并将其直接用作异步操作参数:
Future<HttpServer> serverFuture = Future.future();
vertx.createHttpServer().listen(future);
然后您可以使用 map
或 compose
等未来的方法。
在旧版本中,future 不是异步结果的处理程序,因此您必须使用 completer
方法:
Future<HttpServer> serverFuture = Future.future();
vertx.createHttpServer().listen(future.completer());
从 3.7.0 开始,completer
方法已弃用,并将在版本 4 中删除。