如何在节点中传递函数作为回调函数

时间:2017-11-06 22:21:22

标签: node.js function callback common-library

我在节点中创建的公共库中创建了以下函数来创建路径。

public registerRoute(verb:string,route:string,cb:(req:any,resp:any)=>any):any
    {

        this.app.get(route,cb);
}

我正在导入这个库并在我的另一个节点项目中调用此函数,如下所示。

logger.registerRoute("GET","/route/testapi",testapi(req,resp))

function testapi(req:any , resp:any):any
{
    resp.send("Function called");
}

但我收到错误,因为找不到req和resp logger.registerRoute( “GET”, “/路线/ testapi”,testapi(的 REQ RESP ))

如何将此函数作为回调函数传递给此公共库函数??

1 个答案:

答案 0 :(得分:1)

将回调传递到:logger.registerRoute("GET","/route/testapi",testapi(req,resp))

你实际上想要传递定义(没有括号和args的方法):

logger.registerRoute("GET","/route/testapi",testapi)

否则它将在你传递时运行,而不是在它应该作为回调时运行。