服务器什么时候在Node.js中为请求添加侦听器?
When did server add listener to request in Node.js?
var http = require("http");
http.createServer(function(request, response) {
request.addListener("data", function(postDataChunk) {
// some code here
});
request.addListener("end", function() {
// some code here
});
}).listen(8888);
据我所知,在节点中,当服务器接收到请求时,匿名函数将执行。但是在示例代码中,该函数将为服务器接收到的请求添加侦听器。但是,它确实有效。
我的问题是为什么它有效。服务器何时向节点中的请求添加侦听器?
我不完全清楚你要求帮助理解的过程的具体哪一部分,但这是你的代码如何工作的。
-
http.createServer()
创建一个服务器,您传递给它的回调函数将自动注册为request
事件的事件处理程序。 -
request
事件调用它的回调有两个参数,request
和response
对象。request
对象类型为http.IncomingMessage
,实现了可读流接口。 -
当
request
回调被调用时,它执行request.addListener('data', ...)
,这在request
参数中为可读流上的传入数据添加了一个侦听器。 -
所以,一旦数据在可读流上可用,它就会用该数据块调用侦听器。你可以在node文档中阅读更多关于可读流的信息,以更好地理解它们是如何工作的。
-
end
事件的监听器告诉你可读流何时完成给你它的数据
服务器何时在节点中添加侦听器请求?
每次有一个新的传入http请求到服务器时都会发生这种情况。这就是调用http.createServer()
回调的时候。并且,对于每个新的传入请求,将为该回调创建一个新的http.IncomingMessage
对象。
相关文章:
- 微风-向请求添加标头
- 如何在Node.js中向Post请求添加查询
- 向ajax json请求添加缓存
- 将ajax请求添加到上一个ajax请求所附加的元素中
- 尝试向 jQuery AJAX 请求添加延迟
- 自动为 JavaScript 请求添加源映射标头
- 将数据从异步请求添加到 WebSQL 数据库时出错
- 余烬数据不会向后置请求添加参数
- 向某些请求添加基本授权标头
- 如何为Ajax请求添加/管理持久URL参数
- 如何在Backbone中向PUT请求添加尾部斜杠
- 向ajax post请求添加动态表单数据
- 服务器什么时候在Node.js中为请求添加侦听器?
- 事件,然后再发送Ajax请求(向请求添加一些数据)
- react-router将POST请求添加到URL
- 使用angular.js为HTTP请求添加自定义报头
- 我该如何使用Service Worker为我所有的API请求添加一个授权头?
- 将头请求添加到特定的ajax请求中
- 通过.ajax()请求添加动态HTML的正确方法
- 原型Ajax请求添加了一长串函数