Javascript 在Electron中列出IPC渲染器的所有通道侦听器

Javascript 在Electron中列出IPC渲染器的所有通道侦听器,javascript,electron,Javascript,Electron,我们有一个电子应用程序。我们使用 常量函数==>{} 在“通道”上,函数; //后来。。。 ipcRenderer.removeListener'channel',funct 我们希望确保应用程序中没有事件处理程序泄漏。如何查询所有频道侦听器?您无法同时查询所有频道。最接近的是 IPC.removeAllListenerschannel 您可以删除特定频道的所有侦听器。您仍然需要自己管理频道列表。您无法一次查询所有频道。最接近的是 IPC.removeAllListenerschannel 您可

我们有一个电子应用程序。我们使用

常量函数==>{} 在“通道”上,函数; //后来。。。 ipcRenderer.removeListener'channel',funct
我们希望确保应用程序中没有事件处理程序泄漏。如何查询所有频道侦听器?

您无法同时查询所有频道。最接近的是

IPC.removeAllListenerschannel


您可以删除特定频道的所有侦听器。您仍然需要自己管理频道列表。

您无法一次查询所有频道。最接近的是

IPC.removeAllListenerschannel

您可以删除特定频道的所有侦听器。您仍然需要自己管理频道列表

ipcRenderer.eventNames列出了所有具有侦听器的通道 ipcRenderer.rawListenerschannel列出特定频道的所有侦听器 ipcRenderer.eventNames列出了所有具有侦听器的通道 ipcRenderer.rawListenerschannel列出特定频道的所有侦听器 由于ipcRenderer和ipcMain是节点,因此可以使用基本API进行事件管理

可以用于查询每个频道,并且可以删除一个频道的每个侦听器

因此,这段代码将从发射器实例中删除每个侦听器

然而,你实际上不应该这样做!来自节点文档

请注意,删除中其他位置添加的侦听器是一种不好的做法 代码,特别是当EventEmitter实例是由 一些其他组件或模块,例如套接字或文件流

由于ipcRenderer和ipcMain是节点,因此可以使用基本API进行事件管理

可以用于查询每个频道,并且可以删除一个频道的每个侦听器

因此,这段代码将从发射器实例中删除每个侦听器

然而,你实际上不应该这样做!来自节点文档

请注意,删除中其他位置添加的侦听器是一种不好的做法 代码,特别是当EventEmitter实例是由 一些其他组件或模块,例如套接字或文件流


我不想删除侦听器,只是想知道它们是否在那里。我不想删除侦听器,只是想知道它们是否在那里。我不想删除侦听器,只是想知道它们是否在那里。然而,eventNames确实很有用。我把我学到的一切都放在一起,创造了一个答案。谢谢你的帮助!我不想删除侦听器,只是想知道它们是否存在。然而,eventNames确实很有用。我把我学到的一切都放在一起,创造了一个答案。谢谢你的帮助!
ipcRenderer.eventNames().forEach(channel => ipcRenderer.rawListeners(channel))
ipcRenderer.eventNames().forEach(n => {
  ipcRenderer.removeAllListeners(n)
})