成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

node工具模塊

HitenDev / 890人閱讀

摘要:工具模塊工具模塊分為,,,,模塊字節(jié)順序字節(jié)順序,稱為端序和尾序,是跨越多字節(jié)程序?qū)ο蟮膬Υ嬉?guī)則如果最低有效位在最高位的前面,則為小端序,反過來為大端序端的起源來自于格列佛游記,中的水煮蛋的大端和小端。

Node.js工具模塊
node工具模塊分為OS,Path, Net, DNS, Domain模塊

OS 字節(jié)順序

字節(jié)順序,稱為端序和尾序,是跨越多字節(jié)程序?qū)ο蟮膬Υ嬉?guī)則
如果最低有效位在最高位的前面,則為小端序,反過來為大端序

端的起源

來自于格列佛游記,中的水煮蛋的大端和小端。

字節(jié)序有什么用

讀取的時候要用,即處理器從內(nèi)存中進行讀取的時候,需要字節(jié)序,是大端序,還是小端序
其中大端序是人類讀寫數(shù)值需要的,大的在前,小的在后。
小端序是機器的讀法,正好相反

為什么會有小端序

因為計算機讀取的時候是從低電位進行讀取,計算的時候也是從低位進行計算(人類也是這樣)這樣的效率一般會比較高。

字節(jié)順序

對于單一字節(jié),處理器以相同順序處理預(yù)元(bit),因此單字節(jié)的傳輸和存放是一樣的
對于多字節(jié),在不同處理器的存放方式有兩種。

大端序

最高為字節(jié)儲存在最低的內(nèi)存地址處。下一個字節(jié)儲存在后面的地址處(即跟高的內(nèi)存地址)

小端序

反過來即可

Path模塊 Domain模塊

簡化代碼的異常處理
該模塊,將多個處理的模塊分為一組,然后進行處理
隱式綁定:把在上下文中定義的變量,自動進行綁定
顯式綁定:把不在上下文定義的變量,通過代碼進行綁定

需要使用一個emitter.emit http://nodejs.cn/api/events.h...
按照監(jiān)聽器的注冊順序,同步調(diào)用

emitter.removeAllListeners 移出綁定的監(jiān)聽器
http://nodejs.cn/api/events.h...

domain.run 在其域的上下文內(nèi),運行提供的函數(shù), 所有的都隱式綁定
http://nodejs.cn/api/domain.h...

domain.remove 移出監(jiān)聽器
http://nodejs.cn/api/domain.h...

var EventEmitter = require("events").EventEmitter;
var domain = require("domain");    // 域

var emitter1 = new EventEmitter();    // 創(chuàng)建一個監(jiān)聽器的類,這是一個和監(jiān)聽器有關(guān)的類

// 創(chuàng)建域
var domain1 = domain.create();

domain1.on("err", (err) => {    // 綁定一個錯誤域,如果這個時候執(zhí)行err事件,則處理回調(diào)函數(shù)
    console.log("domain1 處理這個錯誤" + err.message);
});

// 顯示綁定
domain1.add(emitter1);    // 將監(jiān)控器的類和域進行綁定

emitter1.on("error", (err) => {    // 添加監(jiān)聽器的error事件的回調(diào)函數(shù)
    console.log("監(jiān)聽器處理錯誤" + err.message);
});

emitter1.emit("error", new Error("通過監(jiān)聽器來處理"));    // 觸發(fā)error事件,首先運行error的回調(diào)函數(shù),接著運行new Error事件

emitter1.removeAllListeners("error");    // 移出監(jiān)聽器類綁定的所有的事件

emitter1.emit("error", new Error("通過正常的 domainl來進行處理"))    // 由于上一步已經(jīng)移出了監(jiān)聽器,所以通過正常的創(chuàng)建域中的錯誤的處理進行處理

var domain2 = domain.create();    // 創(chuàng)建一個新的 domain2 的域

domain2.on("error", (err) => {    // 將該域和事件進行綁定
    console.log("domain2 來進行處理" + err.message);
});

// 隱式綁定
domain2.run(() => {    // 創(chuàng)建一個域的運行空間
    var emitter2 = new EventEmitter();    // 在域的運行空間內(nèi)創(chuàng)建一個新的監(jiān)控器的類
    emitter2.emit("error", new Error("由domain2處理"));    // 由于監(jiān)控器的類沒有進行綁定,所以上下文尋找error錯誤的處理,找到第28行,對于error錯誤的處理,運行回調(diào)函數(shù)
});

domain1.remove(emitter1);    // 移出域綁定的錯誤
emitter1.emit("error", new Error("由于未進行綁定,程序遇到執(zhí)行錯誤"));    // 

PS C:UsersmingmDesktop	est> node main.js
監(jiān)聽器處理錯誤通過監(jiān)聽器來處理
events.js:167
      throw er; // Unhandled "error" event
      ^

Error: 通過正常的 domainl來進行處理
    at Object. (C:UsersmingmDesktop	estmain.js:24:24)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:266:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3)
Emitted "error" event at:
    at EventEmitter.emit (domain.js:455:12)
    at Object. (C:UsersmingmDesktop	estmain.js:24:10)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    [... lines matching original stack trace ...]
    at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3)
PS C:UsersmingmDesktop	est>

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/96339.html

相關(guān)文章

  • 了解可執(zhí)行的NPM包

    摘要:在源碼中也可以看到,在執(zhí)行之前動態(tài)的引入了這些解釋器模塊。因為認為如果你要使用,那么一定會有對應(yīng)的依賴,這個模塊就是與同級的依賴,也就是說可以放心的進行,大致這樣的結(jié)構(gòu)的位置在這里執(zhí)行腳本以及一個相反的栗子 NPM是Node.js的包管理工具,隨著Node.js的出現(xiàn),以及前端開發(fā)開始使用gulp、webpack、rollup以及其他各種優(yōu)秀的編譯打包工具(大多數(shù)采用Node.js來實...

    MingjunYang 評論0 收藏0
  • [譯]npm入門指南

    摘要:博客地址這篇文章是我在眾成翻譯翻譯的一篇文章,一篇的入門指南,原文鏈接的出現(xiàn)使得用寫服務(wù)端應(yīng)用成為可能。你可以看到,這個過程也安裝了其他的模塊,它們都是的所依賴的模塊。但是,得到的輸出信息會很冗長,我們可以加上來精簡一下輸出。 github 博客地址: https://github.com/zengxiaota... 這篇文章是我在 眾成翻譯 翻譯的一篇文章,一篇 npm 的入門指南,...

    mrcode 評論0 收藏0
  • Node_模塊

    摘要:當某個執(zhí)行完畢時,將以時間的形式通知執(zhí)行操作的線程,線程執(zhí)行了這個事件的回調(diào)函數(shù)。為了處理異步,線程必須有事件循環(huán),不斷的檢查是否有未處理的時間。這種處理機制,稱為事件環(huán)機制。方面使用第三方模塊。 簡介 V8引擎本身就是用于Chrome瀏覽器的JS解釋部分,但是Ryan Dahl,把V8搬到服務(wù)器,用于做服務(wù)器的軟件。Node是一個專注于實現(xiàn)高性能Web服務(wù)器優(yōu)化的專家,在遇到V8而誕...

    zero 評論0 收藏0
  • 嘗試造了個工具類庫,名為 Diana

    摘要:的另一種形式測試踩坑之路代碼覆蓋率單元測試的代碼覆蓋率統(tǒng)計,是衡量測試用例好壞的一個的方法。 showImg(https://segmentfault.com/img/remote/1460000012564211?w=640&h=280); 項目地址: diana文檔地址: http://muyunyun.cn/diana/ 造輪子的意義 為啥已經(jīng)有如此多的前端工具類庫還要自己造輪...

    zhichangterry 評論0 收藏0
  • JavaScript 模塊化現(xiàn)狀

    摘要:比如,這種模擬并不符合某些邊緣情況。然而,使用,結(jié)果是在引導模塊時,將指向,與使用的行為一致。這將更容易完成代碼庫的過渡,并使成為可能。 原文作者:Johannes Ewald @Jhnnns 原文鏈接:The state of JavaScript modules 已獲原作者授權(quán)翻譯及發(fā)布 showImg(https://segmentfault.com/img/bVOpwz?w...

    draveness 評論0 收藏0

發(fā)表評論

0條評論

HitenDev

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<