2013-08-19 49 views
3

我閒逛Node.js的內部,和我碰到下面的方法定義凡在Node.js的了`listen`函數定義

//File: node/lib/net.js 
Socket.prototype.listen = function() { 
    debug('socket.listen'); 
    var self = this; 
    self.on('connection', arguments[0]); 
    listen(self, null, null, null); 
}; 

在Socket對象的listen方法來了,有一個調用一個(看似)全局函數,也叫做listen

listen(self, null, null, null); 

此javascript方法/函數定義在哪裏?我搜索了代碼庫中的所有JavaScript文件,似乎無法找到它。

(還有就是我想在這裏完成,比追蹤節點的執行路徑,並試圖瞭解深藏在系統中使用的模式之外,沒有其他特定的任務。)

+0

幻影功能!我很好奇,+1 – tymeJV

+0

@tymeJV,今天我顯得很慢(見下面的答案) –

回答

4

它被定義在net.js的更遠處。截至0.11.5,it's at line 1089

function listen(self, address, port, addressType, backlog, fd) { 
    if (!cluster) cluster = require('cluster');  

    if (cluster.isMaster) { 
    self._listen2(address, port, addressType, backlog, fd); 
    return; 
    } 

    // ... 
} 
+0

Derp,facepalm,在這裏沒有什麼可看的。 –