node事件迴圈和process模組例項分析
阿新 • • 發佈:2020-02-16
本文例項講述了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); //11544 console.log(process.version); //V8.9.0 console.log(process.platform); //WIN32 console.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; // 獲取當前的工作目錄
progress.uptime // 獲取當前程序執行的時間
progress.chdir // 設定當前的工作目錄;
progress.nextTick // 下一次迴圈的時候呼叫;
// current work director 當前的工作目錄 // ./ ---> C:\Home\workspace\node_js process.chdir("C:\\Home\\workspace"); // 修改我們的工作目錄,工作目錄預設你的node是在哪個目錄下啟動的,就是那個目錄為你的工作目錄 console.log(process.cwd()); //c:\Users\Administrator\Desktop // while處理時間,進入等待時間之前呼叫,完成後,去事件裡面來等待新的事件發生; process.nextTick(function() { console.log("nextTick"); });
希望本文所述對大家node.js程式設計有所幫助。