node东西模块

Node.js东西模块
node东西模块分为OS,Path, Net, DNS, Domain模块

OS

字节递次

字节递次,称为端序和尾序,是逾越多字节顺序对象的贮存划定规矩
假如最低有用位在最高位的前面,则为小端序,反过来为大端序

端的劈头

来自于格列佛纪行,中的水煮蛋的大端和小端。

字节序有什么用

读取的时刻要用,即处置惩罚器从内存中举行读取的时刻,须要字节序,是大端序,照样小端序
个中大端序是人类读写数值须要的,大的在前,小的在后。
小端序是机械的读法,恰好相反

为何会有小端序

因为盘算机读取的时刻是从低电位举行读取,盘算的时刻也是从低位举行盘算(人类也是如许)如许的效力平常会比较高。

字节递次

关于单一字节,处置惩罚器以雷同递次处置惩罚预元(bit),因而单字节的传输和寄存是一样的
关于多字节,在差别处置惩罚器的寄存体式格局有两种。

大端序

最高为字节贮存在最低的内存地点处。下一个字节贮存在后面的地点处(即跟高的内存地点)

小端序

反过来即可

Path模块

Domain模块

简化代码的非常处置惩罚
该模块,将多个处置惩罚的模块分为一组,然后举行处置惩罚
隐式绑定:把在上下文中定义的变量,自动举行绑定
显式绑定:把不在上下文定义的变量,经由过程代码举行绑定

须要运用一个emitter.emit
http://nodejs.cn/api/events.h…

根据监听器的注册递次,同步挪用

emitter.removeAllListeners 移出绑定的监听器
http://nodejs.cn/api/events.h…

domain.run 在其域的上下文内,运转供应的函数, 一切的都隐式绑定
http://nodejs.cn/api/domain.h…

domain.remove 移出监听器
http://nodejs.cn/api/domain.h…

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

var emitter1 = new EventEmitter();    // 建立一个监听器的类,这是一个和监听器有关的类

// 建立域
var domain1 = domain.create();

domain1.on('err', (err) => {    // 绑定一个毛病域,假如这个时刻实行err事宜,则处置惩罚回调函数
    console.log('domain1 处置惩罚这个毛病' + err.message);
});

// 显现绑定
domain1.add(emitter1);    // 将监控器的类和域举行绑定

emitter1.on('error', (err) => {    // 增加监听器的error事宜的回调函数
    console.log('监听器处置惩罚毛病' + err.message);
});

emitter1.emit('error', new Error('经由过程监听器来处置惩罚'));    // 触发error事宜,起首运转error的回调函数,接着运转new Error事宜

emitter1.removeAllListeners('error');    // 移出监听器类绑定的一切的事宜

emitter1.emit('error', new Error('经由过程一般的 domainl来举行处置惩罚'))    // 因为上一步已移出了监听器,所以经由过程一般的建立域中的毛病的处置惩罚举行处置惩罚

var domain2 = domain.create();    // 建立一个新的 domain2 的域

domain2.on('error', (err) => {    // 将该域和事宜举行绑定
    console.log('domain2 来举行处置惩罚' + err.message);
});

// 隐式绑定
domain2.run(() => {    // 建立一个域的运转空间
    var emitter2 = new EventEmitter();    // 在域的运转空间内建立一个新的监控器的类
    emitter2.emit('error', new Error('由domain2处置惩罚'));    // 因为监控器的类没有举行绑定,所以上下文寻觅error毛病的处置惩罚,找到第28行,关于error毛病的处置惩罚,运转回调函数
});

domain1.remove(emitter1);    // 移出域绑定的毛病
emitter1.emit('error', new Error('因为未举行绑定,顺序碰到实行毛病'));    // 

PS C:\Users\mingm\Desktop\test> node main.js
监听器处置惩罚毛病经由过程监听器来处置惩罚
events.js:167
      throw er; // Unhandled 'error' event
      ^

Error: 经由过程一般的 domainl来举行处置惩罚
    at Object.<anonymous> (C:\Users\mingm\Desktop\test\main.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.<anonymous> (C:\Users\mingm\Desktop\test\main.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:\Users\mingm\Desktop\test>
    原文作者:小小____
    原文地址: https://segmentfault.com/a/1190000015797185
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞