Angular 5 中 $interval
AngularJS $interval
是一种以固定时间间隔执行函数的方法。在 Angular 5 中,RxJS
库中有一个计时器静态方法,可以用来做同样的事情。
静态计时器方法有两个参数。第一个是以毫秒为单位的间隔,第二个是在此间隔过去时调用的可选函数。
当可观察序列完成时,take 运算符可用于取消任何挂起的计时器。让我们首先详细讨论 $interval
方法,然后我们将转到 Angular 中的计时器静态方法
和 take operator
。
AngularJS 中的 $interval
服务
AngularJS 中的 $interval
服务与 JavaScript 中的 setInterval()
方法做同样的事情。 $interval 变量是 setInterval()
方法的包装器,可以很容易地更改、删除或模拟以进行测试。
setInterval
函数以毫秒为间隔重复执行给定函数,只要它至少被调用一次。
第一次调用 setInterval
将立即执行给定的函数,然后每隔指定的毫秒数执行间隔对象本身的 clearInterval
。
例子:
let timer = setInterval(() => alert('start'), 1000);
// after 20 seconds
setTimeout(() => { clearInterval(timer); alert('stop'); }, 10000);
在 Angular 5 中使用静态时间和 Take
方法
静态时间是 Angular 5 中的一项新功能,它允许开发人员为其应用程序的数据设置时区。这可以在运行时通过将时区的值传递给 Static Time
服务或选择它作为应用程序配置参数来完成。
添加此功能以允许开发人员使用 Angular 5 处理来自不同时区的数据,而无需手动转换数据字符串。Take
方法是另一个新功能,它允许开发人员指定特定操作在中止之前需要多长时间,如果它需要更长的时间。
示例代码:
import { Component, VERSION } from '@angular/core';
import { Observable, timer } from 'rxjs';
import { map, take } from 'rxjs/operators';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
counter$: Observable<number>;
count = 5;
ngOnInit() {
this.counter$ = timer(0, 5000)
.pipe(
take(5),
map(() => (this.count))
);
this.counter$.subscribe((c) => {
console.log(c);
}, () => {}, () => {
console.log('Done', this.count);
});
}
}
相关文章
在 Angular 中上传文件
发布时间:2023/04/14 浏览次数:71 分类:Angular
-
本教程演示了如何在 Angular 中上传任何文件。我们还将介绍如何在文件上传时显示进度条,并在上传完成时显示文件上传完成消息。
Angular 中所有 Mat 图标的列表
发布时间:2023/04/14 浏览次数:91 分类:Angular
-
本教程演示了在哪里可以找到 Angular 中所有 Mat 图标的列表以及如何使用它们。
Angular 2 中的复选框双向数据绑定
发布时间:2023/04/14 浏览次数:139 分类:Angular
-
本教程演示了如何一键标记两个复选框。这篇有 Angular 的文章将着眼于执行复选框双向数据绑定的不同方法。
在 AngularJS 中重新加载页面
发布时间:2023/04/14 浏览次数:142 分类:Angular
-
我们可以借助 windows.location.reload 和 reload 方法在 AngularJS 中重新加载页面。
在 AngularJs 中设置 Select From Typescript 的默认选项值
发布时间:2023/04/14 浏览次数:78 分类:Angular
-
本教程提供了在 AngularJs 中从 TypeScript 中设置 HTML 标记选择的默认选项的解释性解决方案。
在 AngularJS 中启用 HTML5 模式
发布时间:2023/04/14 浏览次数:150 分类:Angular
-
本文讨论如何在 AngularJS 应用程序上启用带有深度链接的 HTML5 模式。
在 AngularJs 中加载 spinner
发布时间:2023/04/14 浏览次数:107 分类:Angular
-
我们将介绍如何在请求加载时添加加载 spinner,并在 AngularJs 中加载数据时停止加载器。
在 Angular 中显示和隐藏
发布时间:2023/04/14 浏览次数:78 分类:Angular
-
本教程演示了 Angular 中的显示和隐藏。在开发商业应用程序时,我们需要根据用户角色或条件隐藏一些数据。我们必须根据该应用程序中的条件显示相同的数据。
在 Angular 中下载文件
发布时间:2023/04/14 浏览次数:104 分类:Angular
-
本教程演示了如何在 angular 中下载文件。我们将介绍如何通过单击按钮在 Angular 中下载文件并显示一个示例。