2014-03-31 25 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分鐘的最佳答案 –