rxjs是一个JavaScript库,可实现异步和基于事件的程序的创建。主要类型是Observable
,提供了一套功能和运算符,以使与数据通过的数据更容易。该系列将详细介绍这些操作员(以及一些独立功能),并提供其使用的示例。
在这篇文章中,我们将涵盖interval
函数。
它有什么作用?
像of
函数一样,这不是操作员。我在许多示例中意识到我已经实现了我的interval
版本。这为示例增加了毫无意义的并发症,只是为了避免使用我们没有讨论过的内容。因此,我现在介绍它以简化未来的示例。那怎么做?
interval
函数以毫秒为单位的时间调用。到达该时间间隔时,它将逐渐增加数字。
例子
用法看起来像这样:
import { interval } from 'rxjs';
interval(1000).subscribe(x => {
console.log(x);
});
如果运行此操作,我们将看到每秒写入控制台的数字,从0开始,然后从那里增加。就是这样。这似乎并不多,但是让我们看一下它的替换。我最初有这个:
import { BehaviorSubject, Observable } from "rxjs";
const value$ = new BehaviorSubject<number>(0);
export function getObservable(): Observable<number> {
return value$.asObservable();
}
export function start(): void {
setInterval(() => {
const count = value$.getValue() + 1;
value$.next(count);
}, 1000);
}
使用interval
表示我可以摆脱整个文件,然后用:
替换它
interval(1000);
获得完全相同的行为。如您所见,这将简化所有示例,并允许我们专注于所讨论的操作员。
此示例的源代码可在github上获得:https://github.com/drownedintech/rxjs-operators