2013-08-19 29 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,在这里没有什么可看的。 –