在through2 docs中,它表示:
一个围绕Node.js流的小型包装器,可以进行转换(Streams2 / 3)以避免
显式子分类噪声。
那是什么意思?什么是“分类噪音”?
最佳答案
转换流的常见实现如下所示:
ES5语法
const { Transform } = require('stream');
const util = require('util');
function MyTransform(options) {
if (!(this instanceof MyTransform))
return new MyTransform(options);
Transform.call(this, options);
}
util.inherits(MyTransform, Transform);
MyTransform.prototype._transform = function (chunk, enc, cb) {
// do some data transformation
this.push(chunk);
cb();
};
ES6语法
const { Transform } = require('stream');
class MyTransform extends Transform {
constructor(options) {
super(options);
}
_transform(chunk, encoding, cb) {
// do some data transformation
this.push(chunk)
cb()
}
}
如您所见,要实现转换流,您必须编写一些样板代码,例如扩展Transform接口等。
通过使用through2,您只需编写转换函数。利润。