這篇文章將為大家詳細(xì)講解有關(guān)process模塊怎么在node中使用,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
成都創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、網(wǎng)站建設(shè)與策劃設(shè)計(jì),吳起網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:吳起等地區(qū)。吳起做網(wǎng)站價(jià)格咨詢:028-86922220
1.node.js事件循環(huán)
node.js事件可以繼續(xù)插入事件,如果有事件就繼續(xù)執(zhí)行下去,每一次事件處理結(jié)束后等待下一個(gè)事件的發(fā)生;沒有要處理的事件了,那整個(gè)就結(jié)束了;
setTimeout插入一個(gè) 計(jì)時(shí)器事件,時(shí)間單位為毫秒;
// 插入一個(gè)事件,讓它多長(zhǎng)(毫秒)時(shí)間以后執(zhí)行一次 setTimeout(function() { console.log("set time out"); }, 3 * 1000); //3秒后執(zhí)行顯示 set time out setInterval插入一個(gè)不斷循環(huán)的計(jì)時(shí)器事件; // 計(jì)時(shí)器事件, 每隔一段事件觸發(fā)一次, time的單位是毫秒 setInterval(function () { console.log("get time doing"); }, 2 * 1000); // 每間隔2秒調(diào)用一次 //結(jié)果為: //get time doing //get time doing //get time doing //....
2.process模塊屬性和事件
process模塊用來與當(dāng)前進(jìn)程互動(dòng),獲取相關(guān)操作系統(tǒng)相關(guān)信息;process是全局變量不需要require導(dǎo)入模塊;
屬性:process.pid, process.version, process.platform, process.title,process.argv, process.execPath, process.stdout, process.stdin, process.stderr, process.env
// process是node的一個(gè)全局模塊 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 // 在啟動(dòng)的時(shí)候,我們可以往程序里面?zhèn)魅雲(yún)?shù), //參數(shù)都是字符串 console.log(process.argv); //結(jié)構(gòu)為數(shù)組 //Array(2) ["D:\Program Files\nodejs\node.exe", "c:\Users\Administrator\Desktop\main1.js"]
exit事件, process.on()
// 當(dāng)我們的node在每次退出的時(shí)候,都會(huì)拋出一個(gè)exit這樣一個(gè)事件,如果我們用戶監(jiān)聽這個(gè)事件,那么 // 當(dāng)有exit事件發(fā)生的時(shí)候,我們之前設(shè)置的回掉函數(shù),將會(huì)被調(diào)用; // process.on來監(jiān)聽事件 process.on("exit", function() { console.log("now node exit!!!!"); }); uncaughtException事件 function(err){}; // 當(dāng)我們發(fā)生了一個(gè)未知的異常的時(shí)候,我們調(diào)用這個(gè)回掉函數(shù); // node 停止處理當(dāng)前這個(gè)事件,繼續(xù)等待下一個(gè)事件的處理,不會(huì)整個(gè)退出, // 服務(wù)器就不會(huì)隨意的奔潰 // 可以把這個(gè)錯(cuò)誤,保存起來,方便我們?nèi)ゲ檎? process.on("uncaughtException", function(err) { console.log("uncaughtException called ", err); }); // 當(dāng)我們的程序,如果運(yùn)行的時(shí)候有異常,那么這個(gè)時(shí)候,我們可以通過捕獲異常, // 如果說我們沒有捕獲的異常,這個(gè)uncaughtException // 如果發(fā)生uncaughtException,node是會(huì)退出的; // 沒有主動(dòng)捕獲,所以javascript解釋器,他是不會(huì)繼續(xù)執(zhí)行的;
處理的時(shí)候遇到了異常,如果這個(gè)異常監(jiān)聽,那么就繼續(xù)處理下一個(gè)事件,否則直接停止退出node ;
3.process重要方法
progress.cwd; // 獲取當(dāng)前的工作目錄
progress.uptime // 獲取當(dāng)前進(jìn)程運(yùn)行的時(shí)間
progress.chdir // 設(shè)置當(dāng)前的工作目錄;
progress.nextTick // 下一次循環(huán)的時(shí)候調(diào)用;
// current work director 當(dāng)前的工作目錄 // ./ ---> C:\Home\workspace\node_js process.chdir("C:\\Home\\workspace"); // 修改我們的工作目錄,工作目錄默認(rèn)你的node是在哪個(gè)目錄下啟動(dòng)的,就是那個(gè)目錄為你的工作目錄 console.log(process.cwd()); //c:\Users\Administrator\Desktop // while處理時(shí)間,進(jìn)入等待時(shí)間之前調(diào)用,完成后,去事件里面來等待新的事件發(fā)生; process.nextTick(function() { console.log("nextTick"); });
關(guān)于process模塊怎么在node中使用就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。