Skip to content

Instantly share code, notes, and snippets.

@jpylypiw
Created June 30, 2019 18:54
Show Gist options
  • Save jpylypiw/2e24c3c3ffc05b1a69f19ec5b103dce5 to your computer and use it in GitHub Desktop.
Save jpylypiw/2e24c3c3ffc05b1a69f19ec5b103dce5 to your computer and use it in GitHub Desktop.
JavaScript Synchronous Loop Example
function doSynchronousLoop(data, processData, done) {
if (data.length > 0) {
var loop = function (data, i, processData, done) {
processData(data[i], i, function () {
if (++i < data.length) {
setTimeout(function () {
loop(data, i, processData, done);
}, 0);
} else {
done();
}
});
};
loop(data, 0, processData, done);
} else {
done();
}
}
var checkboxes = document.getElementsByClassName("ChkPattern");
doSynchronousLoop(checkboxes,
function (item, i, callback) {
console.log(item.checked);
if (item.checked == false) {
setTimeout(function () { item.click(); callback() }, 100);
} else {
callback();
}
},
function () { console.log("finished"); }
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment