每个开发人员都需要了解的奖励RxJS转换运算符

0

额外的RxJS转换运算符

嘿伙伴们,我们已经介绍了 RxJS运算符速成课程。今天,我有一些额外的RxJS运算符,它们可以简化您的工作。 RxJS转换运算符对于生成数据很有用 by Observers.

在本文中,我们’再来看一下Rxjs转换运算符 缓冲时间, bufferToggle, 缓冲时间concatMap 操作员。

每个开发人员都需要了解的奖励RxJS转换运算符
额外的RxJS转换运算符

让’启动RxJS转换运算符

缓冲时间⏱️

该运算符用于在特定时间段内缓冲Observable的发射数据。另外,它只允许一个参数。

缓冲时间Span –这是填充每个缓冲区阵列的时间。时间跨度的单位是毫秒。一旦指定的时间到了,就会发出缓冲区数据并重置缓冲区。

还需要一个 bufferCreationInterval 参数,指定缓冲区数据建立的时间跨度。操作员每次打开缓冲区 bufferCreationInterval 毫秒,并发射并重置 缓冲时间Span 毫秒。
此运算符的另一个可选参数是 maxBufferSize,这是一个数字,它指定要缓冲的最大项目大小。

例如,我们可以按以下方式使用它:


我们应该在发射的数组中看到每2秒发射一个新的数字,而其余的发射数组为空。
bufferCreationInterval 参数可以如下使用:


在上面的代码中,每秒发送一次缓冲的数据,并且每秒创建一次缓冲区。

bufferToggle✨

bufferToggle 缓冲源Observable值,该值从发出开口开始到结束时的输出 关闭选择器 发出。

 

原始Observable发出的值被缓冲,直到 关闭选择器 告诉我们停止从原始Observable发出值。

例如,如果我们有一个如下按钮:


我们可以将鼠标单击事件缓冲在按钮上,然后发出 MouseEvent 根据 关闭选择器 功能’的规格如下:


关闭选择器 在上面的示例中是:


该代码将从 开口 当它开始发射时,即我们单击按钮时,可以观察到 1.5秒.

发出的数据被缓冲到数组中,然后在以下情况结束缓冲 i % 2间隔(1500) 返回可观察到的信号关闭。它’ll继续缓冲 被发射。

缓冲时间☄️

缓冲时间 运算符从源Observable缓冲数据,直到 关闭选择器 功能 closes the buffer.
它带有一个参数,即closeSelector函数,用于指定何时关闭缓冲区。

例如,我们可以像在下面的代码中那样使用它:


我们要做的是单击按钮,然后发出 MouseEvent 的对象数组 MouseEvent 缓冲的点击次数中的。

一旦我们做了,那么 关闭选择器 指定我们每个发出缓冲的值 1000 + 数学.random()* 4000 毫秒,然后清空缓冲区并再次缓冲click事件。

concatMap?️

concatMap 运算符获取原始Observable的每个源值,并等待一个原始Observable的值发射之后,再发射它的下一个发射值。

它需要2个参数。首先是 项目 函数,这是一个返回新Observable的函数,该函数具有我们要应用于从原始Observable发出的值的操作。第二个参数是 结果Selector 。它’s是一个可选参数,该函数用于选择我们要在返回的Observable中发射的发射值。

例如,我们可以按以下方式使用它:


上面的代码将接收click事件,然后在1秒钟后发出0,然后在另一秒钟后发出1,直到达到4。

It’每次我们单击都会执行相同的操作。

结论

缓冲时间 运算符在特定时间段内缓冲原始Observable的发出数据,然后将缓冲数据作为数组发出。

bufferToggle 缓冲源Observable值,该值从发出开口开始到结束closeSelector函数的输出发出为止。

缓冲时间 运算符会缓冲来自Observable源的数据,直到closeingSelector函数发出其数据为止。

最后, concatMap 运算符获取原始Observable的每个源值,并等待其发出的下一个发射值发出之前,先等待原始Observable的一个值发出。

希望您喜欢这篇文章。 Isn’是吗?如果您有任何疑问,请与您的朋友分享并发表评论。

 

 

0
概要
每个开发人员都需要了解的奖励RxJS转换运算符
文章名
每个开发人员都需要了解的奖励RxJS转换运算符
描述
在本文中,我们将看到Rxjs转换运算符,例如bufferTime,bufferToggle,bufferWhen和concatMap运算符。
作者
发布者名称
达斯
出版商徽标