mj.*_*ati 1 java future vert.x
我是VertX框架的新手(也是反应式编程)。当我读到“ Future”时,我不明白“ completer”方法的用途是什么,什么时候必须使用它?如果有人可以帮助我,我将不胜感激。
Vert.x异步方法通常使用Handler<AsyncResult<X>>参数来定义。此参数是操作完成时调用的回调。
vertx.createHttpServer().listen(ar -> {
// callback implementation
});
Run Code Online (Sandbox Code Playgroud)
正如您所注意到的,在最新版本的Vert.x中,有一个Future<X>实现,Handler<AsyncResult<X>>因此您可以创建一个future并将其直接用作异步操作参数:
Future<HttpServer> serverFuture = Future.future();
vertx.createHttpServer().listen(future);
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用将来的方法,例如map或compose。
在旧版本中,future不是异步结果的处理程序,因此您必须使用以下completer方法:
Future<HttpServer> serverFuture = Future.future();
vertx.createHttpServer().listen(future.completer());
Run Code Online (Sandbox Code Playgroud)
从3.7.0版开始,该completer方法已弃用,并将在版本4中删除。
| 归档时间: |
|
| 查看次数: |
283 次 |
| 最近记录: |