Node.js沒有像Ruby的EventMachine::run()一樣顯式進入事件循環的方法。什麼時候Node.js會進入事件循環呢?
例如
EventEmitter = require('events').EventEmitter;
ev = new EventEmitter();
ev.on('die', function() {
console.log('done');
});
運行的話直接就結束了,如果後面再加一句 ev.emit('die'); ,就會進入消息循環。
setTimeout、http的listen都會讓Node.js進入事件循環,這些是怎麼實現的?還有那些,我自己如何實現?