RXJS操作员:间隔
#javascript #网络开发人员 #rxjs #typescript

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