【发布时间】:2023-03-27 10:50:01
【问题描述】:
我在使用 ExpressJs 时遇到了一种非常奇怪的行为,如果在一秒钟内被多个请求击中,下面的代码会向客户端抛出 404 并且查看日志我看到的所有内容如下:
(node:1460) 警告:检测到可能的 EventEmitter 内存泄漏。 11 添加了文件侦听器。使用emitter.setMaxListeners() 增加限制
目标方法(从 AWS S3 存储桶下载文件并通过管道传输响应):
exports.download = function (req, res) {
var fileName = req.params.fileName;
var options = {
Bucket: config.s3.bucket,
Key: fileName
};
res.attachment(fileName);
s3.getObject(options).createReadStream().on('error', function(err){
console.log(err);
}).pipe(res);
}
【问题讨论】:
标签: node.js amazon-web-services express amazon-s3 memory-leaks