Доброе время.
Не могу понять, как удалить у события каллбек. Вижу, что в функции notifyChange есть замыкание и оно уже не обращает внимания на изменёный "stat", но как это замыкание удалить или заменить, не могу сообразить.
function callbackA(){console.log("A");}
function callbackB(){console.log("B");}
var conform = {};
function notifyChange(EventId, callback) {
conform[EventId] = callback;
if (callback && typeof callback === "function") {
this._socket = new WebSocket("ws://127.0.0.1/", "rpc");
var socket = this._socket;
socket.onopen = function() {
socket.send(JSON.stringify({"A": "1"}));
};
socket.onmessage = function(msg) {
var responseEventId = JSON.parse(msg.evtid);
conform(responseEventId);
};
} else {
console.Error("Error");
callback(-1);
}
}
notifyChange('1', callbackA);
notifyChange('1', callbackB);
Мне нужно, чтобы после вызова "notifyChange(1, callbackB);" событие '1' забыло о каллбэке callbackA. Ищу сам принцип, как это нужно делать.