我写过一些代码,用于通过ipc在电子中发送异步请求,但我想知道如何中止或取消已经发出的ipc请求。
ipc.on('receivedSoftwareInfo', (info) => {
// TO-DO
});
ipc.send('getSoftwareInfo');
我从电子的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异步请求?我认为这比删除所有听众解决这个问题更好。
答案 0 :(得分:0)
不幸的是,这是不可能的。 IPC请求由浏览器(此处为Electron)管理,无法在JavaScript中管理。