使用 Vertx "IAsyncResult" 和 "EventBus consumer" 的区别
the difference between using Vertx "IAsyncResult" and "EventBus consumer"
谁能给我解释一下这两种方法有什么区别:
vertx.evenbus().consumer("test", message -> {
..........
});
vertx.evenbus().send("test", res->{
...........
});
和:
public void test(Handler<AsyncResult<JsonObject>> resultHandler){
..........
}
test(res->{
..........
})
在 vert.x 中,事件总线允许您快速构建分布式应用程序,而无需知道其他服务的位置 运行,还允许您通过添加更多的 Verticles 侦听来扩展在一个共同地址上。
当您使用第一段代码时,您实际上是在要求 vert.x 在集群的任何位置找到一个可以处理特定类型消息的节点(可能与调用者相同) "test"
.
如果您更喜欢本地操作,例如在从文件中读取 JSON 对象后要执行的操作,则在第二个代码段中定义处理程序或回调。
谁能给我解释一下这两种方法有什么区别:
vertx.evenbus().consumer("test", message -> {
..........
});
vertx.evenbus().send("test", res->{
...........
});
和:
public void test(Handler<AsyncResult<JsonObject>> resultHandler){
..........
}
test(res->{
..........
})
在 vert.x 中,事件总线允许您快速构建分布式应用程序,而无需知道其他服务的位置 运行,还允许您通过添加更多的 Verticles 侦听来扩展在一个共同地址上。
当您使用第一段代码时,您实际上是在要求 vert.x 在集群的任何位置找到一个可以处理特定类型消息的节点(可能与调用者相同) "test"
.
如果您更喜欢本地操作,例如在从文件中读取 JSON 对象后要执行的操作,则在第二个代码段中定义处理程序或回调。