如何将HTTP响应传递给Node.js中的回调?

如何将HTTP响应传递给Node.js中的回调?,node.js,Node.js,从节点查询数据库时,如何将HTTP响应对象传递给同步回调?例如,db stuff是伪代码: var http=require'http'; http.createServerfunction请求、响应{ response.writeHead200,{'Content-Type':'text/plain'}; //从数据库读取: var dbClient=createClientmyCredentials; var myQuery='我的查询在这里'; dbClient.querymyQuery,

从节点查询数据库时,如何将HTTP响应对象传递给同步回调?例如,db stuff是伪代码:

var http=require'http'; http.createServerfunction请求、响应{ response.writeHead200,{'Content-Type':'text/plain'}; //从数据库读取: var dbClient=createClientmyCredentials; var myQuery='我的查询在这里'; dbClient.querymyQuery,回调; 函数callbackerror,results,response//是否将“response”传递给回调? { 如果错误===null{ 对于results response.writeindex中的var索引;//错误 响应。结束“数据结束”; } 否则{ 响应。结束“查询数据库时出错” } } }.列表1337127.0.0.1; 将响应传递给回调时,节点会给出一个错误,即结果延续对象没有方法写入


这里的最佳策略是什么?

通过将响应放入回调函数声明中,您正在创建一个新的空响应对象,该对象的作用域仅在回调函数中

相反,您需要做的只是删除response参数

 function callback(error, results) // response is outside of function

在这个回调函数中,变量response现在将引用createServer回调的原始响应变量。由于此函数位于createServer回调中,因此它将有权访问响应对象。

通过将响应放入回调函数声明中,您将创建一个新的空响应对象,该对象仅在回调函数中具有作用域

相反,您需要做的只是删除response参数

 function callback(error, results) // response is outside of function
在这个回调函数中,变量response现在将引用createServer回调的原始响应变量。由于此函数位于createServer回调内部,因此它可以访问响应对象。

使用repsonse.sendindex

基本上,您可以只打印响应对象来查看其中的函数

console.logresponse

使用repsonse.sendindex

基本上,您可以只打印响应对象来查看其中的函数

console.logresponse