Angular可以启动计时器但无法停止它
创始人
2024-10-27 20:01:32
0

可以使用RxJS中的Interval Observable来代替原生的setInterval函数,并使用takeUntil操作符来停止计时器。 示例代码如下:

import { Component, OnDestroy } from '@angular/core'; import { interval, Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators';

@Component({ selector: 'app-counter', template: {{ counter }} }) export class CounterComponent implements OnDestroy { counter = 0; private interval$ = interval(1000); private stop$ = new Subject();

start() { this.interval$ .pipe(takeUntil(this.stop$)) .subscribe(() => { this.counter++; }); }

stop() { this.stop$.next(); this.stop$.complete(); this.counter = 0; }

ngOnDestroy() { this.stop$.next(); this.stop$.complete(); } }

在上面的代码中,我们定义了一个Interval Observable来代替setInterval函数,并在start函数中使用takeUntil操作符来停止计时器。我们还定义了一个stop$Subject来控制计时器应停止,并在stop函数中调用了next和complete方法以确保计时器被完全停止。我们也实现了ngOnDestroy接口以在组件销毁时停止计时器并清零计数器。

相关内容

热门资讯

四分钟辅助!多乐手游辅助软件,... 四分钟辅助!多乐手游辅助软件,真是是有辅助技巧(有挂方式)1、首先打开多乐手游辅助软件辅助器下载最新...
第3分钟辅助!随意玩免费辅助器... 第3分钟辅助!随意玩免费辅助器,切实有辅助挂(有挂攻略)1、该软件可以轻松地帮助玩家将随意玩免费辅助...
九分钟辅助!广东雀神智能插件安... 九分钟辅助!广东雀神智能插件安装包免费,确实真的有辅助技巧(了解有挂)1.广东雀神智能插件安装包免费...
4分钟辅助!钱塘十三水怎么开挂... 4分钟辅助!钱塘十三水怎么开挂辅助,果然是有辅助挂(有挂助手)1、钱塘十三水怎么开挂辅助透视辅助软件...
第五分钟辅助!时光互娱房卡辅助... 第五分钟辅助!时光互娱房卡辅助,其实存在有辅助工具(有挂解惑)1、第五分钟辅助!时光互娱房卡辅助,其...
第1分钟辅助!掌酷十三张透视辅... 第1分钟辅助!掌酷十三张透视辅助免费,真是是真的有辅助神器(发现有挂);1、掌酷十三张透视辅助免费破...
七分钟辅助!微友助手app下载... 七分钟辅助!微友助手app下载辅助器,都是有辅助方法(有挂辅助)所有人都在同一条线上,像星星一样排成...
第9分钟辅助!聚财app辅助,... 第9分钟辅助!聚财app辅助,一贯是有辅助app(有挂解惑);1、完成聚财app辅助辅助器v3.3的...
第二分钟辅助!淘宝买顺欣茶楼辅... 第二分钟辅助!淘宝买顺欣茶楼辅助软件靠谱吗,都是是真的有辅助挂(真是有挂)1、上手简单,内置详细流程...
第八分钟辅助!心悦填大坑辅助,... 第八分钟辅助!心悦填大坑辅助,果然存在有辅助插件(有挂详细)1、任何心悦填大坑辅助透视是真的假的的玩...