Node.js 是單進程單線程應用程式,但是因為 V8 引擎提供的非同步執行回調介面,通過這些介面可以處理大量的併發,所以性能非常高。 Node.js 幾乎每一個 API 都是支持回調函數的。 Node.js 單線程類似進入一個while(true)的事件迴圈,直到沒有事件觀察者退出,每個非同步事件都生 ...
Node.js 是單進程單線程應用程式,但是因為 V8 引擎提供的非同步執行回調介面,通過這些介面可以處理大量的併發,所以性能非常高。
Node.js 幾乎每一個 API 都是支持回調函數的。
Node.js 單線程類似進入一個while(true)的事件迴圈,直到沒有事件觀察者退出,每個非同步事件都生成一個事件觀察者,如果有事件發生就調用該回調函數。
Node.js 有多個內置的事件,我們可以通過引入 events 模塊,並通過實例化 EventEmitter 類來綁定和監聽事件
//引入event模塊 var events=require("events"); //創建eventEmitter對象 var eventEmitter=new events.EventEmitter(); var connectHandler=function connected(){ console.log("連接成功"); //觸發事件 eventEmitter.emit("data_received"); } //綁定事件及處理程式 eventEmitter.on("connection",connectHandler) //綁定data_received eventEmitter.on("data_received",function(){ console.log("數據接收成功"); }) //觸發connection事件 eventEmitter.emit("connection"); console.log("程式處理完畢~");
讀取文件實例
var fs = require("fs"); fs.readFile('input.txt', function (err, data) { if (err){ console.log(err.stack); return; } console.log(data.toString()); }); console.log("程式執行完畢");
如果input.txt被刪除,則會報出錯誤信息