【发布时间】:2019-09-08 16:33:39
【问题描述】:
我正在尝试创建一个按钮来停止运行 setInterval 的方法。
我正在使用 clearInterval 来执行此操作,但由于某种原因它不会让我以 setInterval 变量为目标。
class Helpers {
static start(value: Vehicle): void {
let begin = setInterval(value.calculateSpeed, 1000, value);
}
static stop() {
let stop = clearInterval(Helpers.begin);
}
}
我也尝试过使用命名空间,但也没有用。
namespace Extras {
export function start(value:Vehicle) {
let begin = setInterval(value.calculateSpeed, 1000, value);
}
export function stop() {
let stop = clearInterval(Extras.begin);
}
}
start() 方法运行良好……但 stop() 方法没有做任何事情。任何帮助将不胜感激。
非常感谢你们的帮助!你解决了我的问题!
【问题讨论】:
-
Helpers.begin是undefined因为begin是一个局部变量。 -
let 的作用域是函数,而不是类或实例。我希望像
Helpers.begin = setInterval()这样的东西,但随后用打字稿语法编写(如果不同的话)。 -
为什么需要这些虚拟类?只需在代码中所属的位置使用
setInterval。
标签: javascript typescript function oop methods