传递res.end()作为callback不起作用的Nodejs

你好我正在使用连接,并有:

var app = connect() .use(connect.static(directory)) .use(function(req,res) { switch (req.url) { case '/query': exportFunc.query("myquery", res.end); break; } } -- exportFunc.js -- exports.query= function(query, cb) { queryServer(query, cb); } var queryServer = function(query, cb) { cb("MyQueryResult"); } 

但是我得到一个错误,cb不能确定它是什么对象。 我是否需要将此对象转换为正确的types?

你不是用正确的上下文(在函数中)调用函数。 你可以通过replace来解决它

  exportFunc.query("myquery", res.end); 

  exportFunc.query("myquery", res.end.bind(res)); 

要么

  exportFunc.query("myquery", function(){ res.end() });