2014-03-31 18 views
1

你好我使用的连接,并具有:路过的NodeJS res.end()回调不工作

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不能确定什么对象则是一个错误。我是否需要将此对象转换为正确的类型?

+0

你有什么确切的错误更换

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

解决这个问题? –

+0

http.js:920 this._implicitHeader(); TypeError:对象#没有方法'_implicitHeader' 如果我尝试传递完整的资源。我收到一个对象类型错误。 –

回答

7

你不是要求用正确的上下文(this的功能)的功能。您可以通过使用

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

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

TY工作。在11分钟的最佳答案 –