Node.js は、Chrome JavaScript ランタイム上に構(gòu)築されたプラットフォームです。

Node.js は、Google の V8 エンジンをベースにしたイベント駆動(dòng)型 I/O サーバーサイド JavaScript 環(huán)境であり、V8 エンジンは JavaScript を非常に高速に実行し、非常に優(yōu)れたパフォーマンスを発揮します。

Node.jsイベントループ 構(gòu)文

Node.js はシングルプロセス、シングルスレッドのアプリケーションですが、V8 エンジンが提供する非同期実行コールバック インターフェイスは、これらのインターフェイスを通じて大量の同時(shí)実行を処理できるため、パフォーマンスは非常に高くなります。

Node.js のほぼすべての API はコールバック関數(shù)をサポートしています。

Node.js 基本的にすべてのイベント メカニズムは、デザイン パターンのオブザーバー パターンを使用して実裝されます。

Node.js のシングル スレッドは、イベント オブザーバーが終了するまで while(true) イベント ループに入るのと似ています。非同期イベントごとにイベント オブザーバーが生成されます。イベントが発生すると、コールバック関數(shù)が呼び出されます。

Node.jsイベントループ 例

main.js ファイルを作成します。コードは次のとおりです:

// 引入 events 模塊
var events = require('events');
// 創(chuàng)建 eventEmitter 對象
var eventEmitter = new events.EventEmitter();
// 創(chuàng)建事件處理程序
var connectHandler = function connected() {   console.log('連接成功。');     
// 觸發(fā) data_received 事件    
eventEmitter.emit('data_received');}
// 綁定 connection 事件處理程序
eventEmitter.on('connection', connectHandler); 
// 使用匿名函數(shù)綁定 data_received 事件
eventEmitter.on('data_received', function(){   console.log('數(shù)據(jù)接收成功。');});
// 觸發(fā) connection 事件 
eventEmitter.emit('connection');
console.log("程序執(zhí)行完畢。");