javascript - 我的代码中 request.end 的监听器有什么问题

标签 javascript node.js

我刚刚开始研究 Node.js。我在 http://net.tutsplus.com/tutorials/javascript-ajax/node-js-for-beginners/ 中发现了一个教程,我正在尝试执行他作为示例给出的脚本,但除非我注释掉“结束”事件的监听器,否则它无法正常工作。

var http = require("http");
http.createServer(function (request, response) {
 // request.on("end", function () {
      response.writeHead(200, {
         'Content-Type': 'text/plain'
      });
      response.end('Hello HTTP!');
  // });
  //request.end();
}).listen(8080);

如果我在请求的“结束”上评论监听器,则上面的代码工作正常,但如果我取消评论,则它无法正常工作。有人可以帮助我吗?

谢谢, 戒律。

最佳答案

end 事件监听器的请求实际上正在做的是监听结束事件并在该事件执行后触发回调函数。

您试图在 end 事件执行之前触发该事件。将请求 end 函数移到响应正文之外,这样应该可以工作:

var http = require("http");

http.createServer(function (request, response) {    
    response.writeHead(200, {
        'Content-Type': 'text/plain'
    });    

    request.on("end", function () {      
        console.log("GOOD BYE!");       
    });

    response.end('Hello HTTP!'); 
}).listen(8080);

关于javascript - 我的代码中 request.end 的监听器有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19559875/

相关文章:

javascript - 在nodejs中向客户端发送响应

javascript - $ 未定义,在 Rails 中使用 Select2 插件时未捕获 ReferenceError

mysql - 返回的node-mysql JSON类型用反斜杠引用

node.js - 使用 arangojs 和 aqlQuery 在 ArangoDb 中使用集合名称作为变量时出错

javascript - 如何在 Jade 模板中使用 Javascript 变量?

javascript - 如何让这个随机生成器多次工作?

javascript - 如何使用 jQuery 获取元素中的所有输入?

javascript - 在 JavaScript 中使用 Json 值中的表情符号替换文本

node.js - Hostgator npm : npm run watch give error

node.js - webpack 生产构建 IIS 后出现空白页面