123456789101112131415161718192021222324252627282930313233 |
- var Timers = require('timers');
- module.exports = Timer;
- function Timer(object) {
- this._object = object;
- this._timeout = null;
- }
- Timer.prototype.active = function active() {
- if (this._timeout) {
- if (this._timeout.refresh) {
- this._timeout.refresh();
- } else {
- Timers.active(this._timeout);
- }
- }
- };
- Timer.prototype.start = function start(msecs) {
- this.stop();
- this._timeout = Timers.setTimeout(this._onTimeout.bind(this), msecs);
- };
- Timer.prototype.stop = function stop() {
- if (this._timeout) {
- Timers.clearTimeout(this._timeout);
- this._timeout = null;
- }
- };
- Timer.prototype._onTimeout = function _onTimeout() {
- return this._object._onTimeout();
- };
|