80 行代码实现简易 RxJS
RxJS 是一个响应式的库,它接收从事件源发出的一个个事件,经过处理管道的层层处理之后,传入最终的接收者,这个处理管道是由操作符组成的,开发者只需要选择和组合操作符就能完成各种异步逻辑,极大简化了异步编程。除此以外,RxJS 的设计还遵循了函数式、流的理念。 直接讲概念比较难理解,不如我们实现一个简易的 RxJS 再来看这些。 RxJS 的使用 RxJS 会对事件源做一层封装,叫做 Observable,由它发出一个个事件。 比如这样: const source = new Observable((observer) => { let i = 0; setInterval(() => { observer.next(++i); }, 1000); }); 复制代码 在回调函数里面设置一个定时器,不断通过 next 传入事件。 这些事件会被接受者监听,叫做 Observer。 const subscription = source.subscribe({ next: (v) => console.log(v), error: (err) => co...
