Skip to content

Instantly share code, notes, and snippets.

@eduardo-matos
Last active December 13, 2015 21:19
Show Gist options
  • Save eduardo-matos/4976569 to your computer and use it in GitHub Desktop.
Save eduardo-matos/4976569 to your computer and use it in GitHub Desktop.
Pausable events on Dojo Toolkit
require([
'dojo/on',
'MyModule'
], function (
on,
MyModule
) {
'use strict';
var mod = new MyModule();
var handler = on.pausable(mod, 'foo', function (fooCount) {
console.log('Foo Count: ' + fooCount);
});
mod.foo(); // Logs: "Foo Count: 1"
handler.pause();
mod.foo();
handler.resume();
mod.foo(); // Logs: "Foo Count: 3"
});
define('MyModule', [
'dojo/_base/declare',
'dojo/Evented'
], function (
declare,
Evented
) {
var fooCount = 0;
return declare([Evented], {
foo: function () {
fooCount += 1;
this.emit('foo', fooCount);
}
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment