![](/img/trans.png)
[英]Node.js _http_server.js' Server function's first line confusion
[英]_http_server.js - no request('events') yet .emit() && .on() how?
GitHub上/nodejs/node/blob/master/lib/_http_server.js上的_http_server.js使用.emit()方法14次,加上使用.on()方法11次。
我很困惑,因為我相信此方法來自Node.js中的request('events')。 我在整個文件中搜索了這樣的內容,並且該行已從第113行注釋到第130行。對於使用.emit()和.on()方法,我找不到其他方法。
誰能解釋在沒有request('events')的情況下如何同時使用.emit()和.on()?
_http_server.js通過繼承使用EventEmitter
(從require('events')
)。
ServerResponse
繼承自OutgoingMessage
,后者繼承自Stream
, Stream
又繼承自EventEmitter
。 Server
本身從net.Server
繼承 ,后者從EventEmitter
繼承 。 這就是_http_server.js能夠使用EventEmitter
方法的原因,即使您在該文件中看不到require('events')
:它所依賴的類最終還是取決於EventEmitter
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.