博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
node工具模块
阅读量:5734 次
发布时间:2019-06-18

本文共 2888 字,大约阅读时间需要 9 分钟。

Node.js工具模块

node工具模块分为OS,Path, Net, DNS, Domain模块

OS

字节顺序

字节顺序,称为端序和尾序,是跨越多字节程序对象的储存规则

如果最低有效位在最高位的前面,则为小端序,反过来为大端序

端的起源

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

字节序有什么用

读取的时候要用,即处理器从内存中进行读取的时候,需要字节序,是大端序,还是小端序

其中大端序是人类读写数值需要的,大的在前,小的在后。
小端序是机器的读法,正好相反

为什么会有小端序

因为计算机读取的时候是从低电位进行读取,计算的时候也是从低位进行计算(人类也是这样)这样的效率一般会比较高。

字节顺序

对于单一字节,处理器以相同顺序处理预元(bit),因此单字节的传输和存放是一样的

对于多字节,在不同处理器的存放方式有两种。

大端序

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

小端序

反过来即可

Path模块

Domain模块

简化代码的异常处理

该模块,将多个处理的模块分为一组,然后进行处理
隐式绑定:把在上下文中定义的变量,自动进行绑定
显式绑定:把不在上下文定义的变量,通过代码进行绑定

需要使用一个emitter.emit
按照监听器的注册顺序,同步调用

emitter.removeAllListeners 移出绑定的监听器

domain.run 在其域的上下文内,运行提供的函数, 所有的都隐式绑定

domain.remove 移出监听器

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.
(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.
(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>

转载地址:http://xumwx.baihongyu.com/

你可能感兴趣的文章
动态规划---->货郎担问题
查看>>
添加虚拟子网
查看>>
Ubuntu 12.04 root用户登录设置
查看>>
存储过程点滴
查看>>
Maven编译跳过test的设置
查看>>
SQLyog图形化l数据库的操作和学习
查看>>
raspbian 怎么才能有声音?
查看>>
[LeetCode]22.Generate Parentheses
查看>>
《数据结构》—— 线性表(上)
查看>>
WEB前端 CSS选择器
查看>>
计算A/B Test需要的样本量
查看>>
二叉树前序中序后序遍历的非递归方法
查看>>
nginx+tomcat实现负载均衡
查看>>
mysql 行转列列转行
查看>>
《设计模式系列》---桥接模式
查看>>
[Unity3d]Shader 着色器 学习前了解知识
查看>>
Linux中文件颜色所代表的属性和颜色
查看>>
Redrain duilib中事件委托存在的问题
查看>>
43、我的C#学习笔记9
查看>>
网站建表实践及优化
查看>>