关于import(require) rxjs的简单剖析

1.简单介绍

首先先简单的介绍一下rxjs,什么是rxjs呢?!其实也就是一个针对于js的响应式扩展库,以此来支持更多的响应式操做,说白了就是扩展了Observable的操做.目前有一个重写的版本:Reactive-Extensions/RxJS,这是一个重写的反应扩展是最新版本生产环境版本。这种改写是为了有更好的性能、更好的模块性,更好的可调试调用堆栈,而尽可能向后兼容,一些重大变化,减小API。具体链接:[rxjs][1]

[1]: https://www.npmjs.com/package...npm

2.简单剖析

先举个栗子,好比说你有使用Observable的map方法的需求,就想要先import进来,以下(我这里所有导入了,由于Rx下带有map.js文件,因此性质是同样的):

clipboard.png,
而后就可使用map方法了
clipboard.png
(这里的get方法返回的是Observable对象)
那么问题来了,它是怎么去扩展的呢?!咱们来看看map.js的源码吧性能

clipboard.png
你会看到这里对从第一个require语句中导入模块对象的Observalbe的原型对象作了处理,添加了一个property,就是这个property使得全部的Observable对象都扩展了这个property.想要继续深刻的大佬能够继续看相对应的这个方法的具体实现,这里就不在多说(require的方式也是相似再也不多说).有说得不对的地方还望不吝赐教ui

相关文章
相关标签/搜索