gpt4 book ai didi

node.js - ( Node :6261) MaxListenersExceededWarning: Possible EventEmitter memory leak detected

转载 作者:太空宇宙 更新时间:2023-11-04 00:04:16 24 4
gpt4 key购买 nike

我在 Nodejs 应用程序上收到此错误: Node 版本:v8.11.1

(node:6261) MaxListenersExceededWarning: Possible EventEmitter memory leak
detected. 11 wakeup listeners added. Use emitter.setMaxListeners() to increase
limit

我有一个非常简单的代码,使用 node-apn 将通知推送到 IOS 设备。 代码工作正常,我也在设备上收到推送通知

var express               = require('express')
, serverPort = 6900
, app = express()
, http = require('http')
, https = require('https')
, fs = require('fs')
, apn = require('apn')
;

var server = http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.write('Hello!');
res.end();
});

server.listen(serverPort, (err) => {

if(err) { return console.log("Something bad happened", err); }
});

var apnOptions = {

token: {
},
production: false
};

var apnProvider = new apn.Provider(apnOptions);
var note = new apn.Notification();

note.expiry = Math.floor(Date.now() / 1000) + 3600; // Expires 1 hour from now.
note.badge = 3;
note.sound = "ping.aiff";
note.alert = "\uD83D\uDCE7 \u2709 You have a new message";
note.payload = { 'messageFrom': 'John Appleseed' };
note.topic = "com.example.test";

apnProvider.send(note, '6A752501A5DAFF9DCSFRE56C5B0E699385CD14B586CEF4B9C5012DDA4').then( (result) => {

console.log(result);
});

这里的问题是 APN 代码,因为一旦我评论 APN 代码,我就不会再遇到此错误。谁能知道我的代码有什么问题吗?我觉得我已经完成了这里的所有操作,但我仍然面临这个问题。

最佳答案

有两种解决方案。两者都与更新监听器的最大数量相关,并且都应添加在代码的开头。

1-您可以为事件监听器设置 0,如下所示,这是有风险的,因为您基本上会删除限制:

const emitter = new EventEmitter()
emitter.setMaxListeners(0)

2-全局修复错误,设置一个高值作为最大值,如

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

引用文献1:https://nodejs.org/docs/v0.4.7/api/events.html#emitter.setMaxListenershttps://nodejs.org/docs/v0.4.7/api/events.html#emitter.setMaxListeners

引用文献2:possible EventEmitter memory leak detected

关于node.js - ( Node :6261) MaxListenersExceededWarning: Possible EventEmitter memory leak detected,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53077448/

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