Node.js 事件循環
翻譯結果:
Node.js 是一個基於Chrome JavaScript 執行階段建立的平台。
Node.js是一個事件驅動I/O服務端JavaScript環境,基於Google的V8引擎,V8引擎執行Javascript的速度非常快,效能非常好。
Node.js 事件循環語法
Node.js 是單進程單線程應用程序,但是因為 V8 引擎提供的異步執行回調接口,透過這些接口可以處理大量的並發,所以性能非常高。
Node.js 幾乎每一個 API 都是支援回呼函數的。
Node.js 基本上所有的事件機制都是用設計模式中觀察者模式實作。
Node.js 單執行緒類似進入一個while(true)的事件循環,直到沒有事件觀察者退出,每個非同步事件都會產生一個事件觀察者,如果有事件發生就呼叫該回呼函數.
Node.js 事件循環範例
建立 main.js 文件,程式碼如下所示:
// 引入 events 模块 var events = require('events'); // 创建 eventEmitter 对象 var eventEmitter = new events.EventEmitter(); // 创建事件处理程序 var connectHandler = function connected() { console.log('连接成功。'); // 触发 data_received 事件 eventEmitter.emit('data_received');} // 绑定 connection 事件处理程序 eventEmitter.on('connection', connectHandler); // 使用匿名函数绑定 data_received 事件 eventEmitter.on('data_received', function(){ console.log('数据接收成功。');}); // 触发 connection 事件 eventEmitter.emit('connection'); console.log("程序执行完毕。");