如何从扩展连接中删除侦听器

时间:2016-02-22 15:39:43

标签: javascript google-chrome google-chrome-extension

TL; DR我问,我可以摆脱_onDisconnect没有不良影响吗?

我的chrome扩展程序

中的background.js中包含以下代码
(function () {
    chrome.runtime.onConnect.addListener(function (sender) {
        console.log("onConnect");
        sender.onMessage.addListener(_onMessage);
        sender.onDisconnect.addListener(_onDisconnect);
    });

    function _onMessage(message, sender) {
        // The stuff I care about
    }

    function _onDisconnect(sender) {
        console.log("onDisconnect");
        sender.onMessage.removeListener(_onMessage);
        sender.onDisconnect.removeListener(_onDisconnect);
    }
}).call(this);

现在忽略console.log("onDisconnect")可能对调试有用的事实,是否需要在onDisconnect中为消息和断开连接执行removeListeners?

在我的代码中,我从不手动断开连接与另一端的连接,并且因为我的扩展是DevTools脚本在devtools面板关闭时死亡,我会认为它是100%清理,即使我是不要删除_onDisconnect函数中的eventlistener。

0 个答案:

没有答案
相关问题