Rxjs(observable)

by guangjungg

HTML

<script src="https://unpkg.com/rxjs/bundles/Rx.min.js"></script>

JavaScript

// 创建一个stream
// 1-2-3-----------4--|-->

var observable = Rx.Observable.create(function (observer) {
  observer.next(1);
  observer.next(2);
  observer.next(3);
  setTimeout(() => {
    observer.next(4);
    observer.complete();
    // 一旦结束后再使用 complete 或者 next 不会有反应
    observer.complete();
    observer.next(5);
  }, 1000);
});

console.log('just before subscribe');
observable.subscribe({
  next: x => console.log('got value ' + x),
  error: err => console.error('something wrong occurred: ' + err),
  complete: () => console.log('done'),
});
console.log('just after subscribe');