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。