underscore : after()
JavaScript
function after(count, fn){
let runCount = 0;
return function(...args){
runCount = runCount + 1;
if (runCount >= count) {
return fn(...args);
}
}
}
function logResult() {
console.log("finish");
}
const logResultAfter2 = after(2, logResult);
setTimeout(function firstCall() {
console.log("1st");
logResultAfter2();
}, 3000);
setTimeout(function secondCall() {
console.log("2nd");
logResultAfter2();
}, 4000);