有没有办法中止在电子中发送的ipc异步请求?

时间:2016-06-23 03:08:49

标签: asynchronous ecmascript-6 listener ipc electron

我写过一些代码,用于通过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异步请求?我认为这比删除所有听众解决这个问题更好。

1 个答案:

答案 0 :(得分:0)

不幸的是,这是不可能的。 IPC请求由浏览器(此处为Electron)管理,无法在JavaScript中管理。