var delayedFuncs = [];
function triggerWrapper(func, params) {
return function () {
var that = undefined;
func.apply(that, params);
triggerNextDelayedFunc();
}
}
function triggerNextDelayedFunc() {
if (delayedFuncs.length < 1) {
return;
}
var delayedFunc = delayedFuncs.shift();
var func = delayedFunc.func;
var params = delayedFunc.params;
var delay = 1500;
setTimeout(triggerWrapper(func, params), delay);
}
function addDelayedFunc(func, params) {
delayedFuncs.push({
func: func,
params: params
});
}
function logToScreen(msg) {
document.body.innerHTML += "<p>" + msg + "</p>";
}
function checkusername(username) {
logToScreen("Checked username: " + username);
}
function checkemail(email) {
logToScreen("checked email: " + email);
}
function checkpassword(password) {
logToScreen("checked password: " + password);
}
var username = "paul.wilkins";
var email = "paul.m.wilkins@gmail.com";
var password = "hunter2";
addDelayedFunc(checkusername, [username]);
addDelayedFunc(checkemail, [email]);
addDelayedFunc(checkpassword, [password]);
triggerNextDelayedFunc();
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.