Electron electronAPI.receive每执行一次,监听多一次,怎么解决?
JavaScript
2025.09.22 11:49:06
阅读 59
场景回顾
Electron使用预加载preload.js的方式,进行主进程和渲染进程进行通讯。
- --
- -
--------------
-----------
- - -----
------------------ -
-- --- -- - -
- ------------- - -
-
--
- -------------------------- -
---------------------- ------
-
--
-- --- -- - -
- ------------- - -
-
--
- -------------------------- -
---------------------- --- --- - ----------
-
-
---在渲染进程中使用:
- ----
---------------- ---
---------------- --- - -
----------
---
-因业务需要, testFn会执行多次,导致receive方法的回掉函数也执行多次。
这是因为,每次执行electronAPI.receive方法,都在ipcRenderer上添加一个监听方法,可在preload.js中通过ipcRenderer.listeners(channel)方法查看。
问题解决
在每次监听主进程返回的时候,都需要清除掉上个监听。
- --
- -
--------------
-----------
- - -----
------------------ -
- -
-- --- -- - -
-----------------------
-
---使用
- ----
---------------- ---
-----------------
---------------- --- - -
----------
---
-








