node.js http请求/响应参数

时间:2014-05-06 06:22:06

标签: node.js

我仍然对节点回调如何工作感到困惑。查看本教程:http://www.nodebeginner.org/

var http = require("http");

http.createServer(function(request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.write("Hello World");
  response.end();
}).listen(8888);

我的理解是,当服务器收到请求时,会传递请求和响应参数。但是,我不确定你会如何通过语法来判断。 createServer函数在实际收到请求之前是否返回任何内容,然后返回两个对象,即请求和响应?

1 个答案:

答案 0 :(得分:1)

不,createServer方法会立即返回with a new web server object。然后立即调用该Web服务器对象的listen方法,服务器开始侦听端口8888上的连接。listen调用也立即返回;您可以通过在下一行添加console.log('here');并在运行脚本时查看它如何写入终端来证明这一点。作为listen调用的结果,只要对端口8888发出新的HTTP请求,就会调用回调作为createServer的唯一参数来处理请求

由于Node在单个线程(more or less)中运行,因此任何阻止该线程的操作(如等待服务器连接,数据库查询或对远程请求的响应)都是通过使用类似示例中的回调来处理异步