Rxjs

Angular2优质学习资源收集

):https://www.gitbook.com/book/buctwbzs/rxjs/details一本开源的Angular2书籍:https://zhangchen915.gitbooks.io/angular2-training/开源项目类AngularAngury项目:https://augury.angular.io/AngularTeam在github上的地址:https://github.com/angularng2-bootstrap:https://ng-bootstrap.githu

Angular 2 Pass Async Data

PostInterfacesandDataPostInterfacespost.interface.tsMockPostsDataBloggerComponentposts.component.tsblogger.component.tsapp.component.ts以上代码运行完后,你会发现浏览器中只显示Postsby:Semlinker。需要注意的是,在使用Observable或Subject时,在不使用的时候,需要及时取消订阅,以避免出现内存泄露的问题。具体示例如下:posts.component

RxJS - Subject

没错,我们可以通过自定义Subject来实现上述功能。自定义SubjectSubject类定义使用示例以上代码运行后,控制台的输出结果:通过自定义Subject,我们实现了前面提到的功能。接下来我们进入正题-RxJSSubject。因为Subject对象没有再调用next()方法。BehaviorSubject跟Subject最大的不同就是BehaviorSubject是用来保存当前最新的值,而不是单纯的发送事件。BehaviorSubject会记住最近一次发送的值,并把该值作为当前值保存在内部的属性中。

RxJS Operators 详解

详细的信息可以参考-RxMarblesCreationOperatorsrepeatrepeat操作符签名:repeat操作符作用:重复count次,源Observable发出的值。repeat操作符示例:示例marble图:以上代码运行后,控制台的输出结果:JSBin-repeatTransformationOperatorsmapmap操作符签名:map操作符作用:对Observable对象发出的每个值,使用指定的project函数,进行映射处理。bufferTime操作符示例:示例marble图:J

RxJS Functional Programming

PureFunctionPureFunction(纯函数)的特点:给定相同的输入参数,总是返回相同的结果没有产生任何副作用没有依赖外部变量的值所谓"副作用"),是指函数内做了与本身运算无关的事,比如修改某个全局变量的值,或发送HTTP请求,甚至函数体内执行console.log都算是副作用。调用时使用参数。

使用Angular与TypeScript构建Electron应用(六)

将back组件链接至shared.module.ts中,并导出它。简单的说,你仅仅只需要做一些逻辑/属性上的改变而模板不会多次复用时,你需要尽量避免组件,转而使用属性型指令,这是Angular与React的不同之处。最后我们订阅的是listService返回的流,并将数据更新至list中。这类情况下我们更需要Subject的一个变种BehaviorSubject。对于刚刚解除Angular或Rxjs的开发者来说,这需要一些学习时间,可参考github记录理解这一节。

Angualr 组件间通信

Angualr组件间通信约定:遵循Angular官方的说法,下文中的AngularJS代指1.x版本,Angular代指Angular2及以后的升级版本。后面介绍的Angular的方案也有许多可以通用的地方。Angular组件间的数据通信SharedService共享服务方案在新的Angular中依然可以使用,而且无需额外的学习成本。基于这些设计理念,Angular为指令提供了更为强大的功能,组件也是指令。(关于Angualr组件的生命周期,之后会有相关的学习笔记整理。

javascript – RxJs 5共享()运算符如何工作?

它不是100%清楚我如何RxJs5共享()运算符工作,看到这里latestdocs.Jsbin的问题here.如果我创建一系列0到2的可观察值,每个值分隔一秒:如果我创建两个订阅者可观察到:我在控制台中得到这个:我认为每个订阅将订阅相同的可观察,但似乎并非如此!但是如果将share()运算符添加到sourceobservable中:然后我们得到这个:没有share(),我会期望什么.这里发生了什么,share()运算符如何工作?

javascript – RxJs将流分成多个流

如何根据分组方法将永不结束的流拆分为多个结束流?).这意味着需要在窗口之前将发射延迟一个(这是第一个.bufferCount(2,1).map(arr=>arr[0]).或者也许用publish()更容易控制订阅的顺序:输出是一样的.

javascript – RxJs:zip运算符的有损形式

考虑使用zip运算符将两个无限的Observable压缩在一起,其中一个Observable发出的项目频率是另一个的两倍.当前的实现是无损耗的,即如果我让这些Observables发射一小时然后我在它们的发射速率之间切换,第一个Observable将最终赶上另一个.随着缓冲区越来越大,这将导致内存爆炸.如果第一个observable将发出几个小时的项目而第二个将在最后发出一个项目,则会发生同样的情况.如何为此操作符实现有损行为?