Rxjs原理解析

 Rxjs提供了响应式编程的机制,其处理数据流和事件是非常擅长的。其工作的原理是基于发布/订阅模式的。下面我们以示例来看其工作的机制。
1、首先我们用create方法创建一个Observable:

const observable1 = Rx.Observable.create((observer) => {
    //调用next实际上是在执行subscribe方法传递的next方法。
  observer.next('test1');
});

 其参数为一个方法,observer是一个对象,结构为:
  {
   next: (data) => {},
   error: (error) => {},
   complete: () => {},
  }
 其中next,error,complete是我们在调用subscribe时传递的,接下来会介绍。
 当create方法执行后,其实是将这个方法参数保存在内部属性_subscribe中。

 2、接下来我们调用subscribe方法,

observable1.subscribe(data => console.log(data));

  该方法同样也可以传递一个object,或者三个方法,分别为next、complete和error。
  当该方法被调用时,就会执行保存在_subscribe中的方法并将这三个回调方法作为参数。_subscribe也就是在调用create时传递的参数。

猜你喜欢

转载自blog.csdn.net/zhaoruda/article/details/79056958