我在节点中创建的公共库中创建了以下函数来创建路径。
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 ))
如何将此函数作为回调函数传递给此公共库函数??
答案 0 :(得分:1)
将回调传递到:logger.registerRoute("GET","/route/testapi",testapi(req,resp))
你实际上想要传递定义(没有括号和args的方法):
logger.registerRoute("GET","/route/testapi",testapi)
否则它将在你传递时运行,而不是在它应该作为回调时运行。