2016-05-29 89 views
1

我是Vert.x的新手(使用版本3.2.1)。據我所知,我們可以使用Java這樣的創建自定義的處理程序:如何在Vert.x3中編寫自定義處理程序?

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

    } 
    ... 
} 

有什麼辦法編寫使用Javascript一樣嗎?

回答

1

在javascript中使用JS關閉符號如:

function (ctx) { ... } 

一個完整的招呼詞,例如:

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!"); 
}); 

vertx.createHttpServer()requestHandler(router.accept)。聽(8080 );

+0

好的,但我怎麼能在一個單獨的JS文件中定義相同的(JS封閉符號),並傳遞給調用函數? – yogeshhkumarr

+1

你可以使用'var other = require('other_js_file');'來獲得一個外部文件,然後從出口引用它,所以如果你的輸出是這樣的:'module.exports = {fn:function(ctx){ctx。 。響應()結束( '你好'); }}}'然後在你需要的時候你總是可以這樣做:'router.route()。handler(other.fn)' –