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接口以在组件销毁时停止计时器并清零计数器。

相关内容

热门资讯

透视关于"hhpok... 透视关于"hhpoker德州挂真的有吗"都是存在有辅助插件(哔哩哔哩)一、hhpoker德州挂真的有...
透视关于"pokem... 透视关于"pokemmo手机脚本辅助器"一贯有辅助方法(哔哩哔哩)1、玩家可以在pokemmo手机脚...
透视开挂"德扑之心免... 透视开挂"德扑之心免费透视"切实是有辅助工具(哔哩哔哩)1、点击下载安装,德扑之心免费透视脚本分类一...
透视解密"poker... 透视解密"poker辅助器免费安装"一贯是有辅助脚本(哔哩哔哩)poker辅助器免费安装是不是有人用...
透视有挂"epoke... 透视有挂"epoker透视"本来是有辅助插件(哔哩哔哩)1、epoker透视免费脚本咨询教程、epo...
透视了解"wepok... 透视了解"wepoker怎么破解游戏"本来存在有辅助技巧(哔哩哔哩)进入游戏-大厅左侧-新手福利-激...
透视教你"werpl... 透视教你"werplan怎么作必弊"一直是真的辅助攻略(哔哩哔哩)1)werplan怎么作必弊免费钻...
透视详细"wepok... 透视详细"wepoker辅助插件功能"一贯存在有辅助挂(哔哩哔哩)1、首先打开wepoker辅助插件...
透视辅助"aapok... 透视辅助"aapoker怎么开辅助器"原来存在有辅助软件(哔哩哔哩)aapoker怎么开辅助器脚本下...
透视透视"来玩app... 透视透视"来玩app 德州 辅助"好像是真的辅助技巧(哔哩哔哩)1、每一步都需要思考,不同水平的挑战...