Как отписать gundb на функцию события?
Как мне остановить события, вызванные gun('something').on()
для gundb обработчик (отписаться), чтобы он прекратил обновлять список или вносить изменения в список.
2 ответа
В 0.5 и выше вы просто звоните .off()
,
Тем не менее, вы не можете в предыдущих версиях. Хотя есть обходной путь, вот как это сделать:
var options = {};
gun.get('something').on(callback, options);
options.on.off()
По сути, источник событий привязывается к объекту параметров как on
недвижимость, которую можно назвать .off()
потом. Надеюсь, это поможет!
При обратном вызове на.on
позвоните, вы получите несколько аргументов.
(value, key, message, onEvent) => void
Последний из этих аргументов содержит собственный.off
функция, которая специально удаляет прослушиватель, которому было передано событие onEvent.
Тогда относительно простым решением будет:
let off = ()=>{};
chain.on((value, key, message, evt)=>{
callback(value, key, message, evt);
off = ()=> evt.off();
});