0

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

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","/route/testapi",testapi( req , resp ))

如何将此函数作为回调函数传递给这个通用库函数?

4

1 回答 1

1

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

您实际上只想传递定义(没有括号和参数的方法):

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

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

于 2017-11-06T22:26:54.747 回答