node.js – 如何“emitter.setMaxListeners()”?

我在这个问题上有类似的问题:

node.js – 请求 – 如何“emitter.setMaxListeners()”?

用户似乎已经解决了他们的问题,但我不确定他们是如何做到的。 (“process.setMaxListeners(0)”???)什么是“进程”?

我想在这个问题的上下文中的“过程”只是指一些EventEmitter类。 事实上,如果你有一些EventEmitter对象并且得到相同的错误,你应该添加你的代码(在添加监听器之前):

request.setMaxListeners(0); 

这里可以是请求,进程或任何其他导致问题的对象。 但是,有时候这样的错误会引起关于devise错误的信号。 如果你显示你的代码,将有可能给出更精确的build议。

过程是全球化的过程。 这是一个EventEmitter。 node.js API文档说:

过程对象是一个全局对象,可以从任何地方访问。 这是EventEmitter的一个实例。 ( http://nodejs.org/api/process.html

你可以做一些事情,比如设置全局事件监听器,删除全局事件监听器,发出全局事件,几乎所有你可以用EventEmitter做的事情。

 process.on("GlobalEvent", GlobalEventHandler); process.emit("GlobalEvent"); do something. . . . process.removeListener("GlobalEvent", GlobalEventHandler); 

我用它来从一个模块发出事件到另一个模块,我在同一个整体过程中运行。 这使我可以将它们保留在漂亮的小function模块中,但仍然可以将事件发送给另一个模块。