gpt4 book ai didi

node.js - 合并NodeJS流时如何调用 `setMaxListeners`

转载 作者:搜寻专家 更新时间:2023-10-31 23:54:58 26 4
gpt4 key购买 nike

我正在使用 gulpjs 来捆绑多组 css 文件。每个集合都被捆绑到自己的文件中,所以我的代码看起来像这样:

var es = require('event-stream');

gulp.task("bundle", function(){
var streams = [];
for(var i in sets) {
var set = sets[i];
var stream = gulp.src(set.sources)
.pipe(...)
.pipe(gulp.dest(set.destination));
streams.push(stream);
}
var merged = es.concat.apply(es, streams);
return merged;
});

所以它一直运行良好,但现在我的包已经足够大以至于我看到以下错误:

(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit.

我尝试应用类似 this 的答案和 this但我似乎无法弄清楚在哪里调用 setMaxListeners(0)

在合并流时如何调用 setMaxListeners

最佳答案

看起来问题出在 event-stream 模块 ( see this issue )。

目前,我能够通过这行代码抑制问题。当然,这在全局范围内设置了最大值,这并不理想。

require('events').EventEmitter.prototype._maxListeners = 30;

看起来这个问题最终会在 stream-combiner 中解决,它是 event-stream 的依赖项。

关于node.js - 合并NodeJS流时如何调用 `setMaxListeners`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22572574/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com