【发布时间】:2015-07-15 09:33:37
【问题描述】:
我正在编写一个计时器函数,它在一个显示模块模式中使用setInterval。我可以让计时器正常启动,但我无法停止间隔。
var timer = (function() {
var startTimer = function() {
setInterval(function() {
// Do Stuff
}, 1000);
};
var stopTimer = function() {
clearInterval(timer.startTimer());
};
return {
startTimer: startTimer,
stopTimer: stopTimer
};
})();
timer.startTimer(); // Works!
timer.stopTimer(); // Doesn't Work!
有什么想法吗?
【问题讨论】:
-
startTimer()必须返回调用setInterval()的结果,但这也不起作用,因为在stopTimer()中,您正在创建一个新间隔,然后立即清除 -
你的 var startTimer 不是指一个区间,而是一个创建新区间的函数。
标签: javascript revealing-module-pattern