SOURCE

console 命令行工具 X clear

                    
>
console
let demo = document.getElementById('console');

function output(str) {  
  if (arguments[0] === false) {
    demo.innerHTML = '';
    return;
  }
  demo.innerHTML += str + '<br/>';
};




function start() {
  output(false);
  output('Starting...');

  var sourceOne = new Rx.Subject();

  var sourceTwo = new Rx.Subject();

  var sourceThree = new Rx.Subject();

  sourceOne.subscribe(s => {
    console.log('one is: ', s);
    output(s);
  });

  sourceTwo.subscribe(s => {
    console.log('two is: ', s);
    output(s);
  });

  sourceThree.subscribe(s => {
    console.log('three is: ', s);
    output(s);
  });

  const example = sourceOne.concat(sourceTwo).concat(sourceThree).take(3);

  example.subscribe({
    complete: () => {
      console.count('completed!!');
      output('Completed!!');
    } 
  });
  
  //emit value in sequence every 1 second
  const source = Rx.Observable.interval(1000);
  //output: 0,1,2
  let take = source.take(3);
  const subscribe = take.subscribe(val => {
    console.log('interval:', val);
    if(val === 0) {
      sourceOne.next('First');
      sourceOne.complete();
    } else if(val === 1) {
      sourceTwo.next('Second');
      sourceTwo.complete();
    } else if(val === 2) {
      sourceThree.next('Third');
      sourceThree.complete();
    }
  });
}
<div class="demo">
  <button type="button" onclick="start()">Start</button>
	<div id="console"></div>
</div>
.demo {
  margin: 0;
  padding: 10px;
}
button {
  padding: 10px 15px;
  cursor: pointer;
}

#console {
  margin: 5px 0;
  padding: 5px;
  border: 1px solid #ccc;
  background: #000;
  color: #00ff00;
  min-height: 200px;
}

本项目引用的自定义外部资源