[英]_http_server.js - no request('events') yet .emit() && .on() how?
_http_server.js on github at /nodejs/node/blob/master/lib/_http_server.js uses the .emit() Method 14 times, plus it uses the .on() Method 11 times. GitHub上/nodejs/node/blob/master/lib/_http_server.js上的_http_server.js使用.emit()方法14次,加上使用.on()方法11次。
I am confused because I believe this method comes from request('events') in Node.js. 我很困惑,因为我相信此方法来自Node.js中的request('events')。 I searched for a such in the entire file and this line has been commented out from Line 113 to Line 130. I can find no other way for the .emit() and .on() Methods to be used.
我在整个文件中搜索了这样的内容,并且该行已从第113行注释到第130行。对于使用.emit()和.on()方法,我找不到其他方法。
Could anyone explain how it is possible to use both the .emit() and the .on() without request('events')? 谁能解释在没有request('events')的情况下如何同时使用.emit()和.on()?
_http_server.js uses EventEmitter
(what you get from require('events')
) through inheritance . _http_server.js通过继承使用
EventEmitter
(从require('events')
)。
ServerResponse
inherits from OutgoingMessage
, which inherits from Stream
, which in turn inherits from EventEmitter
. ServerResponse
继承自OutgoingMessage
,后者继承自Stream
, Stream
又继承自EventEmitter
。 Server
itself inherits from net.Server
, which inherits from EventEmitter
. Server
本身从net.Server
继承 ,后者从EventEmitter
继承 。 This is why _http_server.js is able to use EventEmitter
methods even though you don't see require('events')
in that file: the classes it depends on ultimately depend on EventEmitter
. 这就是_http_server.js能够使用
EventEmitter
方法的原因,即使您在该文件中看不到require('events')
:它所依赖的类最终还是取决于EventEmitter
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.