Skip to content

Instantly share code, notes, and snippets.

@JBreit
Created June 4, 2017 20:15
Show Gist options
  • Save JBreit/56f54b49bda17a6e9a2d5c366c603631 to your computer and use it in GitHub Desktop.
Save JBreit/56f54b49bda17a6e9a2d5c366c603631 to your computer and use it in GitHub Desktop.
Observable
const node = document.querySelector('input[name="test"]');
const p = document.querySelector('p');
function Observable(subscribe) {
this.subscribe = subscribe;
}
Observable.fromEvent = (element, name) => {
return new Observable((observer) => {
const callback = (event) => observer.next(event);
element.addEventListener(name, callback, false);
return () => element.removeEventListener(name, callback, false);
});
};
const input$ = Observable.fromEvent(node, 'input');
const unsubscribe = input$.subscribe({
next: (event) => {
p.innerHTML = event.target.value;
}
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment