nodejs的某些api~(一)node的流2

可写流writable
writable.write(chunk, [encoding], [callback])
chunk {String | Buffer} 要写入的数据
encoding {String} 编码,假如 chunk 是一个字符串
callback {Function} 数据块写入后的回调
返回: {Boolean} 如果数据已被全部处理则 true。
返回值表明您是否应该立即继续写入。如果数据需要滞留在内部,则它会返回 false;否则,返回 true。
//事件drain 如果.write返回false那么drain事件则表明可以继续写入更多数据
//writable.cork()强行滞留所有写入,滞留的数据会在.uncork()或.end()调用时被写入
//writable.uncork()写入所有.cork()调用之后滞留的数据
//writable.end([chunk],[encoding],[callback])
chunk 要写入的数据
encoding 编码,假如chunk是一个字符串
callback流结束后的回调 当没有更多数据被写入到流时调用此,如果给出,调用会被用作finish事件的监听器
//事件finish end()调用后,且所有数据写入到了底层系统,此事件被触发
//事件pipe 导流到本可写流的来源流 发生于可读流的pipe()方法被调用并添加本可写流作为它的目标时;

writer.on(‘pipe‘,function(src){
    console.log(‘某些东西正被导流到writer‘);
})

//事件unpipe
类 stream.Duplex
例如TCP嵌套字 zlib流 crypto流
类stream.Transform 是一种输出由输入计算所得的双工流,同时具有readable和writable接口
例如zlib流,crypto流

这两个类也不介绍了,我只是看看,反正暂时也用不到。

时间: 2024-08-16 06:35:30

nodejs的某些api~(一)node的流2的相关文章

nvm 解决nodejs无法全局/usr/bin/node问题

在使用nvm时候,发现nvm把nodejs安装到了家目录下,如果sudo执行发现会找不到Nodejs 有的程序默认的执行环境是/usr/bin/node 或者/usr/bin/nodejs 解决办法其实很简单哈哈: 本人原创,删除/usr/bin/node /usr/bin/nodejs 然后vim /usr/bin/node,添加如下内容 #!/bin/bash `whereis node|awk -F ' ' '{print $3}'` $* 然后执行: sudo ln /usr/bin/n

nodejs备忘总结(一) -- node和express安装与配置,新建简单项目(附安装配置过程中遇到问题的解决方法)

安装node 本文以安装node_v8.9.0为例(win10环境),下载node-v8.9.0-x64.msi插件 下载后,安装,安装目录默认为C:\Program Files\nodejs 配置环境变量,系统变量->path,添加“C:\Program Files\nodejs\” 运行cmd,输入node -v C:\Windows\system32>node -v v8.9.0 安装express 找到node安装目录C:\Program Files\nodejs,命令行运行 C:\P

node stream流

stream 模块可以通过以下方式使用: const stream = require('stream');   Node.js 中有四种基本的流类型: Writable - 可写入数据的流(例如 fs.createWriteStream()). Readable - 可读取数据的流(例如 fs.createReadStream()). Duplex - 可读又可写的流(例如 net.Socket). Transform - 在读写过程中可以修改或转换数据的 Duplex 流(例如 zlib.c

nodejs的某些api~(三)net模块

net模块和http模块是node最重要的两个模块,前者是基于TCP的封装,后者的本质也是TCP.他们通过 tcp通信,建立一个可以收发消息的web服务器.我在写的作品里面用的express也是封装的http的模块,本质都是一样的. net建立TCP服务器,传入可选options配置信息. net.createServer([options], [connectionListener])//创建一个新的TCP服务器参数connectionListenner会被自动作为connection事件的监

带你入门带你飞Ⅱ 使用Mocha + Chai + SuperTest测试Restful API in node.js

目录 1. 简介 2. 准备开始 3. Restful API测试实战 Example 1 - GET Example 2 - Post Example 3 - Put Example 4 - Delete 4. Troubleshooting 5. 参考文档 简介 经过上一篇文章的介绍,相信你已经对mocha, chai有一定的了解了, 本篇主要讲述如何用supertest来测试nodejs项目中的Restful API, 项目基于express框架. SuperTest 是 SuperAge

使用nodejs+ harbor rest api 进行容器镜像迁移

最近因为基础设施调整,需要进行harbor 镜像仓库的迁移,主要是旧版本很老了,不想使用,直接 打算部署新的,原以为直接使用复制功能就可以,但是发现版本差异太大,直接失败,本打算使用中间 版本过度进行迁移,但是需要测试,好多功能,而且配置有点费事,尽管官方提供了升级说明,但是没敢 用,就怕出故障 解决方法 rest api 请求流程 还好harbor 提供了rest api,还算比较全,project , repo,tags, 因为harbor 的界面就是基于bff 模式开发 的,所以直接通过查

nodejs的某些api~(二)crypto加密模块

就随便写写crypto模块,加密在node里面挺重要的,特别是密码,用户名都用crypto加密,在我写的那个作品里面,用户名密码的存储都是用crypto加密的,也没有深究里面的内容,想深究的同学可以看: 点我 //crypto.getCiphers();返回一个数组,包含支持的加密算法的名字: //crypto.getHashes();返回ige包含所支持的哈希算法的数组:都可以在node里试试,返回一大长串.//crypto.createCredentials(details);创建一个加密凭

nodejs的某些api~(六)HTTPS

node的HTTPS模块接口与HTTP其实差不多,就是多了一个认证证书,私钥的配置等等,API都相似的. 在客户端服务器通信的方法中,只有HTTPS是最安全的,它的原理是客户端和服务器发送自己的公钥,分别加密,然后解密传输的数据对比,为了防止重放攻击,还会添加随机数或者客户端IP等信息,IP造假太容易了,大部分都是随机数加时间什么什么的.HTTPS就是在HTTP与TCP之间添加了一个加密ssl/tls层. 类https.Server();//该类是tls.Server的子类,并发生和http.S

[MEAN Stack] First API with Node.js, Express and MongoDB

Learn how to import data into your MongoDB and then use Express to serve a simple Node.js API. Import data into MongoDB: For exmaple, you have an data.json file and contains some data. 1. Start Mongod service: //in the cmd $ mongod 2. Open a new Tab,