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

相关内容

热门资讯

透视插件!wepoker如何设... 透视插件!wepoker如何设置透视,wepoker私人局俱乐部怎么进,手筋教程(真是真的是有挂)-...
透视安卓版!we poker辅... 透视安卓版!we poker辅助器,约局吧怎么看有没有挂,绝活儿教程(果然是真的挂)-哔哩哔哩1、让...
透视透视!hardrock透视... 透视透视!hardrock透视工具,poker master辅助,资料教程(都是存在有挂)-哔哩哔哩...
透视苹果版!wepoker黑侠... 透视苹果版!wepoker黑侠辅助器,sohoo开挂辅助,要领教程(真是有挂)-哔哩哔哩1、不需要A...
透视挂!wepoker私人局辅... 您好,wepoker私人局辅助挂这款游戏可以开挂的,确实是有挂的,需要了解加去威信【13670430...
透视新版!wepoker辅助方... 透视新版!wepoker辅助方法,hhpoker开挂教程,技法教程(一直是有挂)-哔哩哔哩1、每一步...
透视免费!pokeplus脚本... 透视免费!pokeplus脚本,wpk俱乐部辅助器,课程教程(有挂实锤)-哔哩哔哩1、透视免费!po...
透视科技!hhpoker俱乐部... 透视科技!hhpoker俱乐部是干嘛的,hhpoker软件可以玩吗,教程书教程(有挂讲解)-哔哩哔哩...
透视讲解!aapoker公共底... 透视讲解!aapoker公共底牌,wepoker底牌透视,模板教程(有挂教学)-哔哩哔哩1、进入到a...
透视软件!德州局脚本,拱趴大菠... 透视软件!德州局脚本,拱趴大菠萝挂哪里,资料教程(有挂总结)-哔哩哔哩1、玩家可以在拱趴大菠萝挂哪里...