.DS_Store
# save-time-avoiding-common-mistakes-using-rxjs
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
</head>
<body>
  <div id="foo"></div>
	<script src="https://unpkg.com/rxjs@5.4.3/bundles/Rx.min.js"></script>
	<script src="script.js"></script>
</body>
</html>
const click$ = Rx.Observable.create(
  function subscribe(observer) {
    const listener = function (ev){
      observer.next(ev);
    };
    
    document.addEventListener('click', listener);
    
    return function unsubscribe() {
      document.removeEventListener('click', listener)
    };
  }
)

const subscription = click$.subscribe(function (ev) {
  console.log(ev.clientX) || displayInPreview(ev.clientX);
});

setTimeout(function () {
  subscription.unsubscribe();
}, 4000);



// display in plunker preview
function displayInPreview(string) {
  var newDiv = document.createElement("div"); 
  var newContent = document.createTextNode(string); 
  newDiv.appendChild(newContent);
  document.body.appendChild(newDiv)
}