@anywhichway/lazui
Version:
Single page apps and lazy loading sites with minimal JavaScript or client build processes.
12 lines • 486 B
JavaScript
const intervals = new WeakMap();
const subscribe = (element,channel="*") => {
if(!intervals.has(element)) {
intervals.set(element,setInterval(() => {
element.dispatchEvent(new CustomEvent("message",{detail:{channel,message:`${channel.slice(1)} the datetime is: ` + new Date().toLocaleTimeString()}}));
},1000));
}
};
const unsubscribe = (element,channel="*") => {
clearInterval(intervals.get(element));
}
export {subscribe,unsubscribe}