概念
- Observable (可观察对象): 表示一个概念,这个概念是一个可调用的未来值或事件的集合。
class Observable implements Subscribable - Observer(观察者): 一个回调函数的集合,它知道如何去监听由 Observable 提供的值。
interface Observer - Subscription (订阅): 表示 Observable 的执行,主要用于取消 Observable 的执行。
class Subscription implements SubscriptionLike - Subscriber(订户)
class Subscriber extends Subscription implements Observer - Subject (主体): 相当于 EventEmitter,并且是将值或事件多路推送给多个 Observer 的唯一方式。
class Subject extends Observable implements SubscriptionLike - Scheduler (调度器): 用来控制并发并且是中央集权的调度员,允许我们在发生计算时进行协调,例如 setTimeout 或 requestAnimationFrame 或其他。
class Scheduler implements SchedulerLike
import { Observable, Observer, Subscription, Subscriber } from 'rxjs';
const observable = new Observable(function subscribe(observer) {
observer.next('hello');
observer.next('world');
observer.complete();
});
# 输出: 'Hello'...'World'
const subscription = observable.subscribe(x => console.log(x));
subscription.unsubscribe();