Slide 16
Slide 16 text
var activateTimeout;
// @private
function activateSync (/* id1 [, ..., idN]*/) {
// perform greedy operation
}
// @public
function activate (ids) {
if (cfg.delay) {
clearTimeout(activateTimeout);
activateTimeout = setTimeout(function () {
activateSync.apply(null, ids.splice(0, cfg.size));
if (ids.length) {
activate(ids);
}
}, cfg.delay); // increase delay to stagger
} else {
activateSync.apply(null, ids);
}
}
Work deferral & chunking