欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

node事件循環(huán)和process模塊實(shí)例分析

 更新時(shí)間:2020年02月14日 12:09:56   作者:jadeshu  
這篇文章主要介紹了node事件循環(huán)和process模塊,結(jié)合實(shí)例形式分析了node事件循環(huán)和process模塊具體功能、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了node事件循環(huán)和process模塊。分享給大家供大家參考,具體如下:

1.node.js事件循環(huán)

node.js事件可以繼續(xù)插入事件,如果有事件就繼續(xù)執(zhí)行下去,每一次事件處理結(jié)束后等待下一個(gè)事件的發(fā)生;沒(méi)有要處理的事件了,那整個(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模塊用來(lái)與當(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è)事件,如果我們用戶(hù)監(jiān)聽(tīng)這個(gè)事件,那么
// 當(dāng)有exit事件發(fā)生的時(shí)候,我們之前設(shè)置的回掉函數(shù),將會(huì)被調(diào)用;
// process.on來(lái)監(jiān)聽(tīng)事件
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ò)誤,保存起來(lái),方便我們?nèi)ゲ檎?
process.on("uncaughtException", function(err) {
  console.log("uncaughtException called ", err);
});
// 當(dāng)我們的程序,如果運(yùn)行的時(shí)候有異常,那么這個(gè)時(shí)候,我們可以通過(guò)捕獲異常,
// 如果說(shuō)我們沒(méi)有捕獲的異常,這個(gè)uncaughtException
// 如果發(fā)生uncaughtException,node是會(huì)退出的;
// 沒(méi)有主動(dòng)捕獲,所以javascript解釋器,他是不會(huì)繼續(xù)執(zhí)行的;

處理的時(shí)候遇到了異常,如果這個(gè)異常監(jiān)聽(tīng),那么就繼續(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)用,完成后,去事件里面來(lái)等待新的事件發(fā)生;
process.nextTick(function() {
  console.log("nextTick");
});

希望本文所述對(duì)大家node.js程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Nodejs中的require函數(shù)的具體使用方法

    Nodejs中的require函數(shù)的具體使用方法

    這篇文章主要介紹了Nodejs中的require函數(shù)的具體使用方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-04-04
  • NodeJs的fs讀寫(xiě)刪除移動(dòng)監(jiān)聽(tīng)

    NodeJs的fs讀寫(xiě)刪除移動(dòng)監(jiān)聽(tīng)

    這篇文章主要介紹了NodeJs的fs讀寫(xiě)刪除移動(dòng)監(jiān)聽(tīng),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-04-04
  • node.js中EJS 模板快速入門(mén)教程

    node.js中EJS 模板快速入門(mén)教程

    本篇文章主要介紹了EJS 模板快速入門(mén)學(xué)習(xí),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • nodejs nedb 封裝庫(kù)與使用方法示例

    nodejs nedb 封裝庫(kù)與使用方法示例

    這篇文章主要介紹了nodejs nedb 封裝庫(kù)與使用方法,結(jié)合實(shí)例形式分析了nodejs nedb.js封裝庫(kù)的定義與使用技巧,需要的朋友可以參考下
    2020-02-02
  • Nodejs之Express中間件的分類(lèi)介紹

    Nodejs之Express中間件的分類(lèi)介紹

    這篇文章主要介紹了Nodejs之Express中間件的分類(lèi),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Nodejs腳本實(shí)現(xiàn)批量修改文件

    Nodejs腳本實(shí)現(xiàn)批量修改文件

    當(dāng)我們想要更改一下所有的文件,如何可以在修改到這些文件的同時(shí)又能實(shí)現(xiàn)節(jié)省時(shí)間呢,通過(guò)這篇文章我們將來(lái)學(xué)習(xí)一下怎么通過(guò)這個(gè)腳本來(lái)實(shí)現(xiàn)這個(gè)功能,希望對(duì)大家有所幫助
    2023-11-11
  • Node.js模塊加載詳解

    Node.js模塊加載詳解

    這篇文章主要介紹了Node.js模塊加載詳解,本文講解了加載核心模塊、加載文件模塊、加載目錄模塊、從文件加載模塊等內(nèi)容,需要的朋友可以參考下
    2014-08-08
  • 用NodeJS實(shí)現(xiàn)批量查詢(xún)地理位置的經(jīng)緯度接口

    用NodeJS實(shí)現(xiàn)批量查詢(xún)地理位置的經(jīng)緯度接口

    最近要實(shí)現(xiàn)一個(gè)顯示各個(gè)城市信息的功能,后臺(tái)一看包含一堆城市的excel,發(fā)現(xiàn)不僅有每個(gè)省的直轄市,還有二三線等的城市,數(shù)量還不少,一個(gè)個(gè)去查還挺浪費(fèi)時(shí)間的,那為什么不寫(xiě)個(gè)腳本去實(shí)現(xiàn)批量查詢(xún)呢。
    2016-08-08
  • Node.js API詳解之 tty功能與用法實(shí)例分析

    Node.js API詳解之 tty功能與用法實(shí)例分析

    這篇文章主要介紹了Node.js API詳解之 tty功能與用法,結(jié)合實(shí)例形式分析了Node.js API中tty的基本功能、用法及終端操作相關(guān)使用技巧,需要的朋友可以參考下
    2020-04-04
  • 從零學(xué)習(xí)node.js之模塊規(guī)范(一)

    從零學(xué)習(xí)node.js之模塊規(guī)范(一)

    Node.js是一個(gè)基于谷歌瀏覽器JavaScript執(zhí)行環(huán)境建立的一個(gè)平臺(tái),讓JavaScript可以脫離客戶(hù)端瀏覽器運(yùn)行,讓 JavaScript具有服務(wù)器語(yǔ)言的能力。從本文開(kāi)始我們進(jìn)行學(xué)習(xí)node.js,這篇文章主要介紹的是node.js中模塊規(guī)范的相關(guān)資料,需要的朋友可以參考下。
    2017-02-02

最新評(píng)論