我遇到了与这个问题类似的问题:
node.js - request - How to "emitter.setMaxListeners()"?
用户似乎已经解决了他们的问题,但我不确定他们是如何做到的。“process.setMaxListeners(0)”?)什么是“过程”?
发布于 2012-08-28 16:25:53
我认为这个问题上下文中的“进程”只是指某个EventEmitter类。实际上,如果你有一些对象是EventEmitter并且得到了同样的错误,你应该在你的代码中添加类似这样的东西(在添加侦听器之前):
request.setMaxListeners(0); 这里可以是请求、进程或任何其他导致问题的对象。然而,有时这样的错误表示设计错误。如果你展示你的代码,就有可能给出更精确的建议。
发布于 2013-04-05 04:49:35
进程是全局进程。它是一个EventEmitter。node.js应用编程接口文档中这样写道:
process对象是一个全局对象,可以从任何地方访问。它是EventEmitter的一个实例。(http://nodejs.org/api/process.html)
你可以做像设置全局事件监听器,删除全局事件监听器,发出全局事件,几乎任何你可以用EventEmitter做的事情。
process.on("GlobalEvent", GlobalEventHandler);
process.emit("GlobalEvent");
do something. . . .
process.removeListener("GlobalEvent", GlobalEventHandler);我使用它将事件从一个模块发送到另一个模块,我在相同的整体进程下运行。这使我可以将它们保存在漂亮的小功能模块中,但仍然可以相互发送事件。
https://stackoverflow.com/questions/12151737
复制相似问题