angular - Angular RXJS 从另一种方法停止运行间隔
问题描述
现在我有一个开始和间隔的方法。
这是代码:
interval: number = 5000;
start() {
const myNumber = interval(this.interval);
myNumber.subscribe(
(number: number) => {
console.log(number);
}
);
}
我想添加另一种方法来停止这个间隔:
stop() {
// stop the myNumber interval
}
我怎样才能做到这一点?
解决方案
您可以使用 asubject
或包裹subject
in function
,并使用takeUntil
to stop
interval: number = 5000;
stop=new Subject();
start() {
const myNumber = interval(this.interval).pipe(takeUntil(this.stop);
}
//stop the interval
stop.next(true)
推荐阅读
- php - WooCommerce 向以编程方式创建的订单添加费用和优惠券
- python - 如何像浏览器一样执行发布请求以获得相同的结果
- django - DjangoCMS 复制网站 slug
- sql - MS SQL 触发器不为批量插入插入记录
- javascript - 在一个查询中更新多个表
- python - 类型提示:预期 `Union[ndarray, Iterable, int float]`,得到 `Type[ndarray]`
- python - 致命的 Python 错误:CodecRegistryError 由于 PYTHONPATH 值
- html - 阻止视频在苹果视频播放器中打开
- c# - 读取 /proc/stat 值以获取 cpu 使用率会引发 DivideByZeroException
- opengl - 来自物体的 Opengl 闪电