rxjs - 创建异步数据的Observable对象

650 阅读2分钟

一、interval和timer:用于定时产生数据

interval说明:它接收一个数值类型的参数,表示产生数据的间隔时间,单位为毫秒,返回的Observable对象就按照这个时间间隔来产生递增序列,从0开始,但是有限制。

timer说明:第一个参数若为数值则单位为毫秒,表示间隔时间,产生一个数据0立即结束,若为Date类型的对象,则表示到这个时间点执行,第二个参数若传入,则类似于interval,表示产生数据的时间间隔,但是产生0的时间仍然是由第一个参数决定。

二、from:可把一切转成Observable

1.from包容性最强,可以将像Observable就行,最后产生一个真正的Observable

三、fromPromise:异步处理的交接

用于接收promise参数作为参数

四、fromEvent

1.fromEvent最常见的用法是将DOM中的事件转化成Observeble对象中的数据

2.fromEvent第一个参数是事件源,即DOM元素,第二个参数是事件名称,对应的是字符串,类似于'click'

五、formEventPattern

1.该方法灵活度更高

2.该方法接收两个采参数,分别对应产生的Observable被订阅和被取消订阅的动作

六、ajax

用于获取异步数据

七、repeatWhen

1.repeat能够反复订阅上游的Observable,但是不能控制订阅的时间,repeatWhen可以

2.repeatWhen接受一个函数作为参数,这个函数应该是一个Observable对象,来控制该方法何时重新订阅,当控制器吐出一个数据后,repeatWhen就会执行退订并重新订阅

八、defer

1.defer使用可推迟占用资源

2.使用一个函数作为参数,当当前Observable被订阅后,该函数会被调用