(node) warning: possible EventEmitter memory leak detected. 11 listeners added.
Use emitter.setMaxListeners() to increase limit.
Trace:
at StatWatcher.<anonymous> (events.js:139:15)
at Object.watchFile (fs.js:762:8)
at /home/gotimeco/gtnode2.js:79:11
at Object.oncomplete (path.js:406:19)
我正在使用node.js v0.10.13。有什么想法吗?
答案 0 :(得分:2)
请确保fs.watchFile不会在同一个文件上多次调用。
阐释: fs模块包含一个本地对象“statWatchers”{}来跟踪正在监视的文件。
因此,当调用fs.watchFile('fileX')时,如果没有退出并将其存储在“statWatchers”对象中,则会创建一个新的statWatcher对象。 如果已存在与此文件关联的statWatcher对象,则返回该对象。
statWatcher [“fileX”] =新的statWatcher();
然后在与此文件关联的statWatcher对象上调用addListener('change',listener)。
在“fileX”上调用fs.watchFile 11次,这将导致在statWatcher上调用addListener,使事件“更改”11次。
如果尝试为同一事件添加超过11个侦听器,则EventEmitter会抛出错误。
希望答案能解决你的问题。