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

相关内容

热门资讯

查到实测辅助外挂!易玩堂外挂A... 查到实测辅助外挂!易玩堂外挂AI教程,易玩堂多功能一贯真的是有外挂教程易玩堂辅助器是一种具有地方特色...
玩家必用透视挂!八闽状元郎透视... 玩家必用透视挂!八闽状元郎透视挂AI攻略,八闽状元郎多功能本来是真的有透视挂攻略八闽状元郎透视方法中...
科技通报辅助器!杜鹃花辅助器A... 科技通报辅助器!杜鹃花辅助器AI攻略,杜鹃花多功能切实是真的有辅助器攻略1、玩家可以在杜鹃花线上大神...
科技分享作弊器!老夫子互娱作弊... 科技分享作弊器!老夫子互娱作弊器AI软件,老夫子互娱多功能本来真的有作弊器软件;1、下载好老夫子互娱...
研究成果辅助器!八仙棋牌辅助器... 研究成果辅助器!八仙棋牌辅助器AI工具,八仙棋牌多功能果然有辅助器工具1、下载好八仙棋牌透视辅助下载...
科技新动态辅助!91y捕鱼辅助... 科技新动态辅助!91y捕鱼辅助AIapp,91y捕鱼多功能原来存在有辅助app1、让任何用户在无需9...
重磅来袭辅助!小牛棋牌辅助AI... 重磅来袭辅助!小牛棋牌辅助AI攻略,小牛棋牌多功能本来真的是有辅助攻略1、小牛棋牌有没有辅助教程、小...
重大推荐开挂!祺友互娱开挂AI... 重大推荐开挂!祺友互娱开挂AIapp,祺友互娱多功能原来是有开挂app1、实时祺友互娱透视辅助更新:...
分享一款辅助!乐乐上海麻将辅助... 分享一款辅助!乐乐上海麻将辅助AI插件,乐乐上海麻将多功能真是有辅助插件1、让任何用户在无需乐乐上海...
重大消息外挂!三娃外挂AI技巧... 重大消息外挂!三娃外挂AI技巧,三娃多功能其实有外挂技巧1、三娃免费脚本咨询教程、三娃免费脚本弱密码...