_http_server.js – 没有请求(“事件”).emit()&& .on()怎么样?
github上的_http_server.js在/nodejs/node/blob/master/lib/_http_server.js使用.emit()方法14次,再加上它使用.on()方法11次。
我很困惑,因为我相信这个方法来自Node.js中的request('events')。 我在整个文件中search了一个这样的行,这行已经从第113行到第130行注释掉了。我可以find使用.emit()和.on()方法的其他方法。
任何人都可以解释如何使用.emit()和.on()没有请求('事件')?
_http_server.js通过inheritance使用EventEmitter
(你从require('events')
得到的东西)。
-
ServerResponse
inheritance自OutgoingMessage
,它从Stream
inheritance,而Stream
inheritance自EventEmitter
。 -
Server
本身inheritance自从net.Server
inheritance的EventEmitter
。
这就是为什么_http_server.js能够使用EventEmitter
方法的原因,即使您没有在该文件中看到require('events')
:它所依赖的类最终依赖于EventEmitter
。