本文實例講述了node事件循環和process模塊。分享給大家供大家參考,具體如下:
1.node.js事件循環
node.js事件可以繼續插入事件,如果有事件就繼續執行下去,每一次事件處理結束后等待下一個事件的發生;沒有要處理的事件了,那整個就結束了;
setTimeout插入一個 計時器事件,時間單位為毫秒;
// 插入一個事件,讓它多長(毫秒)時間以后執行一次setTimeout(function() { console.log("set time out");}, 3 * 1000); //3秒后執行顯示 set time out setInterval插入一個不斷循環的計時器事件;// 計時器事件, 每隔一段事件觸發一次, time的單位是毫秒setInterval(function () { console.log("get time doing");}, 2 * 1000); // 每間隔2秒調用一次//結果為://get time doing//get time doing//get time doing//....2.process模塊屬性和事件
process模塊用來與當前進程互動,獲取相關操作系統相關信息;process是全局變量不需要require導入模塊;
屬性:process.pid, process.version, process.platform, process.title,process.argv, process.execPath, process.stdout, process.stdin, process.stderr, process.env
// process是node的一個全局模塊console.log(process.pid); //11544console.log(process.version); //V8.9.0console.log(process.platform); //WIN32console.log(process.title); //D:/Program Files/nodejs/node.exe// 在啟動的時候,我們可以往程序里面傳入參數,//參數都是字符串console.log(process.argv); //結構為數組//Array(2) ["D:/Program Files/nodejs/node.exe", "c:/Users/Administrator/Desktop/main1.js"]
exit事件, process.on()
// 當我們的node在每次退出的時候,都會拋出一個exit這樣一個事件,如果我們用戶監聽這個事件,那么// 當有exit事件發生的時候,我們之前設置的回掉函數,將會被調用;// process.on來監聽事件process.on("exit", function() { console.log("now node exit!!!!");}); uncaughtException事件 function(err){};// 當我們發生了一個未知的異常的時候,我們調用這個回掉函數;// node 停止處理當前這個事件,繼續等待下一個事件的處理,不會整個退出,// 服務器就不會隨意的奔潰// 可以把這個錯誤,保存起來,方便我們去查找process.on("uncaughtException", function(err) { console.log("uncaughtException called ", err);});// 當我們的程序,如果運行的時候有異常,那么這個時候,我們可以通過捕獲異常,// 如果說我們沒有捕獲的異常,這個uncaughtException// 如果發生uncaughtException,node是會退出的;// 沒有主動捕獲,所以javascript解釋器,他是不會繼續執行的;處理的時候遇到了異常,如果這個異常監聽,那么就繼續處理下一個事件,否則直接停止退出node ;
3.process重要方法
progress.cwd; // 獲取當前的工作目錄
新聞熱點
疑難解答
圖片精選