12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- (function() {
- var Timer;
-
- exports.Timer = Timer = (function() {
- function Timer(func) {
- this.func = func;
- this.running = false;
- this.id = null;
- this._handler = (function(_this) {
- return function() {
- _this.running = false;
- _this.id = null;
- return _this.func();
- };
- })(this);
- }
-
- Timer.prototype.start = function(timeout) {
- if (this.running) {
- clearTimeout(this.id);
- }
- this.id = setTimeout(this._handler, timeout);
- return this.running = true;
- };
-
- Timer.prototype.stop = function() {
- if (this.running) {
- clearTimeout(this.id);
- this.running = false;
- return this.id = null;
- }
- };
-
- return Timer;
-
- })();
-
- Timer.start = function(timeout, func) {
- return setTimeout(func, timeout);
- };
-
- }).call(this);
|