Javascript 如何在Vert.x3中编写自定义处理程序?

Javascript 如何在Vert.x3中编写自定义处理程序?,javascript,vert.x,Javascript,Vert.x,我不熟悉Vert.x(使用3.2.1版)。好的,我们可以使用Java创建自定义处理程序,如下所示: public class MyHandler implements Handler<RoutingContext>{ @Override public void handle(RoutingContext context) { } ... } 公共类MyHandler实现处理程序{ @凌驾 公共无效句柄(RoutingContext上下文){ } ... }

我不熟悉Vert.x(使用3.2.1版)。好的,我们可以使用Java创建自定义处理程序,如下所示:

public class MyHandler implements Handler<RoutingContext>{
   @Override
   public void handle(RoutingContext context) {

   }
   ...
}
公共类MyHandler实现处理程序{
@凌驾
公共无效句柄(RoutingContext上下文){
}
...
}

有没有办法使用Javascript编写相同的代码?

在Javascript中,您使用JS闭包符号,例如:

function (ctx) { ... }
完整的hello word示例:

var Router = require("vertx-web-js/router");

var router = Router.router(vertx);

router.route().handler(function (routingContext) {
  routingContext.response().putHeader("content-type", "text/html").end("Hello World!");
});

createHttpServer().requestHandler(router.accept).listen(8080)

好的,但是我如何在一个单独的JS文件中定义相同的(JS闭包符号)并传递给调用函数呢?您可以要求一个带有
var other=require('other_JS_file')的外部文件然后从导出中引用它,因此如果您的导出类似于:
module.exports={fn:function(ctx){ctx.response().end('Hello');}}}}}}}}
那么在您需要之后,您可以始终执行:
router.route().handler(other.fn)