我正在使用through2
试验Node.js流。我有一个index.html文件的流,我试图逐行修改index.html内容,并在每一行添加-------
。我有:
indexHTML
.pipe(through2.obj(function(obj, enc, next) {
blah = obj.contents.toString().split('\n');
blah.forEach(function(element) {
this.push("-------");
this.push(element):
});
next();
})).pipe(process.stdout);
我this.push()
数组方法中无法使用blah.forEach()
时遇到的问题。关于如何修改index.html流的任何建议?
答案 0 :(得分:2)
如果您想保留forEach()
而不是常规for循环,forEach()
接受second argument这是所需的this
上下文:
blah.forEach(function(element) {
this.push("-------");
this.push(element):
}, this);
您还可以始终使用更一般的“自我”解决方法:
var self = this;
blah.forEach(function(element) {
self.push("-------");
self.push(element):
});