1:添加回调
在看http.createServer(代码模块的时候看到 this.addListener('request', requestListener);代码不太了解看了下下eventEmiter的源码!
emitter.on(event, listener)
alias for emitter.addListener(..
emitter.addListener(event, listener) {
...
if (!this._events[type]) | |
// Optimize the case of one listener. Don't need the extra array object. | |
this._events[type]= listener; | |
else if (util.isObject(this._events[type])) | |
// If we've already got an array, just append. | |
this._events[type].push(listener); | |
else | |
// Adding the second element, need to change to array. | |
this._events[type]= [this._events[type], listener]; |
...
(1 如果type类型的event未定义 则创建 (2 如果 event是一个数组对象,则将新的listener压入栈 (3 如果不是对象-是function类型,则创建一个对象,其中初始化时有两个listener function