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、新奇玩乐辅助器下载辅助软件下载优化,...
透视软件"财神十三张... 您好,财神十三张辅助这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多玩家...
这一现象值得深思"新... 这一现象值得深思"新广西老友辅助"竟然是有辅助方法(哔哩哔哩)1、许多玩家不知道新广西老友辅助辅助怎...
2026版复盘"小闲... 2026版复盘"小闲川南手游辅助器"果然存在有辅助插件(哔哩哔哩)1、完成小闲川南手游辅助器辅助器v...
透视插件"福建天天开... 透视插件"福建天天开心辅助软件大全"真是是真的有辅助方法(哔哩哔哩)1、实时福建天天开心辅助软件大全...
据玩家消息"长春科乐... 据玩家消息"长春科乐辅助"本来确实有辅助神器(哔哩哔哩)1、上手简单,内置详细流程视频教学,新手小白...
透视系统"微乐云南小... 透视系统"微乐云南小程序辅助器"原来是有辅助器(哔哩哔哩)所有人都在同一条线上,像星星一样排成一排,...
透视新版"玉海楼茶苑... 透视新版"玉海楼茶苑辅助工具"切实存在有辅助器(哔哩哔哩)所有人都在同一条线上,像星星一样排成一排,...
透视存在"阿拉斗牌作... 透视存在"阿拉斗牌作必弊视频"果然真的是有辅助器(哔哩哔哩)1、超多福利:超高返利,海量正版游戏,阿...
透视黑科技"新永和辅... 透视黑科技"新永和辅助"其实真的有辅助插件(哔哩哔哩)1、新永和辅助辅助软件下载优化,新永和辅助底牌...