首页 > 一个关于Node中的Stream和through的问题,chunk到底是什么?如何删除其中的项?

一个关于Node中的Stream和through的问题,chunk到底是什么?如何删除其中的项?

编写Gulp插件的时候,需要用到一个名为through2的库,看官方介绍这是对Node的Stream API的封装

through(function(chunk,enc,cb) {
    //something
})

这样的一段代码,回调函数的chunk参数到底是什么?貌似是stream的data的集合?
我发现可以通过下标的方式访问其中的项,可是却无法删除某一项。

查看类型是Unit8Array,可是这种类型却无法通new来创建实例

请问下chunk到底是什么?如何才能创建这种类型或者是删除其中的项呢?


chunk可以理解为流数据中的一块数据,对可读流它是Stream读取的数据块,对可写流它是Stream写入的数据块。
chunk数据块类型有两种模式,一个是常规模式regularMode,一个是objectMode,在创建Stream时可以指定objectMode。这里说明一下两种模式的区别:在regularMode时,chunk只能是String, Buffer, Null, Undefined类型;而在objectMode时,chunk可以是任意类型。值得注意的是,regularMode消耗的是字节,而objectMode消耗的是object

参考文章:
Understanding Object Streams
Node.js Stream - 基础篇

【热门文章】
【热门文章】