【发布时间】:2016-10-25 04:48:50
【问题描述】:
我编写了一些代码用于通过电子中的 ipc 发送异步请求,但我想知道如何中止或取消我已经发出的 ipc 请求。
ipc.on('receivedSoftwareInfo', (info) => {
// TO-DO
});
ipc.send('getSoftwareInfo');
我从 electron 的Repo 搜索了 api 文档,得到了一条信息,我可以通过调用 removeListener 来停止,如下代码所示,这样我绑定的事件就不会触发。
ipc.removeAllListeners();
但我认为如果用户单击按钮并立即再次请求,则会出现潜在问题,它会在程序端删除所有侦听器,然后 ipc 第二次发送请求。
它看起来像以下流程:
Events are removed -> async request is still there -> bind events again -> trigger
(I don't want it happen and trigger by old request)
那么,有什么方法可以中止在电子中发送的 ipc 异步请求?我认为解决这个问题比删除所有听众要好。
【问题讨论】:
标签: asynchronous ecmascript-6 listener ipc electron