Node.js高级编程

JavaScript024

Node.js高级编程,第1张

Nodejs可以做什么

Natives modules

Nodejs更适用于IO密集型高并发请求

使用JS实现高效可伸缩的高性能Web服务

常用api

Buffer缓冲区,Buffer让JavaScript 可以操作二进制

IO行为操作的就是二进制数据

流操作配合管道实现数据分段传输

Nodejs中Buffer是一片内存空间

自定义Buffer之split

实现对Buffer拆分

FS是内置的核心模块,提供文件系统操作的API

文件读写与拷贝操作

文件操作API

文件打开与关闭

readFile,writeFile将文件一次性读取与写入,对于大体积的文件不合理。需要一种边读边写的操作方式

大文件读写操作

文件拷贝自定义实现

优化处理

promise写法

CommonJS规范主要应用于Nodejs

CommonJS规范起初是为了弥补JS语言模块化缺陷

CommonJS规范定义模块的加载是同步完成

Nodejs与CommonJS

模块分类

加载流程

缓存优先原则

nodejs事件管理 通过EventEmitter类实现事件统一管理

events与EventEmitter

定义对象间一对多的依赖关系

订阅者将想要订阅的事件监听注册在调度中心,事件被触发的时候,发布者将事件发布在调度中心,之后调度中心统一调度之前订阅者注册的事件

发布订阅要素

完整事件环执行顺序

在浏览器下有两个任务队列,宏任务,微任务

在nodejs中有六个事件队列。

Nodejs诞生之初就是为了提高IO性能

文件操作系统和网络模块实现了流接口

Nodejs中的流就是处理流式数据的抽象接口

流处理数据的优势

Nodejs内置了stream,它实现了流操作对象

nodejs中流的分类

可写流

用于消费数据的流

自定义可写流

可写流数据

自定义双工流

自定义转换流(中间可以对数据进行转换操作,可读与可写流之间是打通的)

nodejs的stream已经实现了可以保证数据平滑流动的背压机制(pipe方法)

文件读取速度大于写入速度,缓存大小有限。可能会导致内存溢出,GC频繁调用,其它进程变慢

writeStream文件可写流简易实现

Net模块实现了底层通信接口

通信过程

http静态服务实现httpServer

查一下热水龙头出水情况,较小的话可能是水流量不足引起的问题。

冷水正常,热水出水小,要考虑一下,为什么原来热水大,现在热水小,原因是水垢沉积原来越多,堵塞管路的问题,水流量不满足条件,热水器不能点火。

燃气热水器不好打火的原因有很多, 水,气, 电任何一方面的元器件损坏, 都会引起热水器打不着火. 但现在热水器元器件的质量普遍提高, 不那么容易坏, 其实很多时候打不着火的原因是因为水路结垢引起热水管路堵塞, 导致水路流动背压较大, 大到一定程度, 热水器水气联动装置会认为是热水龙头已关闭而关闭燃气通道, 没有燃气, 当然打不着火了,如果近期热水龙头全开, 热水水压较小, 可能性则更大.既然点火器工作正常, 就更加可以确定了.

建议马上清洗除垢, 可以网购一套 燃气热水器免拆除垢器, 用它给热水器注入除垢剂清洗一下热水器内部和热水管路内部, 操作简单方便, 用它以后定期清洗, 当可避免再度发生此问题。

看一下啤的是什么样的产品咯一般简单的产品 第一段压力放到100左右 速度80左右 第二段压力放到70左右 速度65左右 一般的产品分两段注塑就可以了 用料如果不是高温料的话 第一到第五段温度太概在 200 185 150 130 50 30 就差不多了熔料 小一点的产品 熔料一般熔110 等二段100 射退 10射胶时间3一6秒冷胶时间根据模具和产品调 7一12秒 简单的产品按上面的调应该没问题的 难搞一点的产品要调背压 温度 射胶压力 射胶时间 冷胶时间 调模的松 紧 等等