node 随记

1.node单线程的理解

    单线程指处理javascript的现成只有一个,但是I/O进程有多个。

2.Buffer

2.1 Buffer:Node在启动进程时就已加载,并挂载在全局,故可直接使用。

2.2 正确的Buffer拼接:

const fs=require('fs');

const iconv=require('iconv-little'); // 纯js库,轻量、无需编译和处理依赖环境直接使用

let chunks=[]; // 读取数据段的存储

let size=0; // 读取数字的总字符长度

let res=fs.createReadStream('文件路径',{highWaterMark:11}); // 每11个字符读取一次数据

res.on('data',function(chunk){

chunks.push(chunk);

siaze+=chunk.length;

});

res.on('end',function(){

const buf=Buffer.concat(chunks,size); // 使用Buffer内置的链接方法进行拼接

const str=iconv.decode(buf,'utf8'); // 最终得到的字符结果,字符串转Buffer

})

你可能感兴趣的:(node 随记)