setTimeout pattern
by Artem
JavaScript
'use strict';
function makePrint() {
let num = 0;
let start = Date.now();
function printNum() {
console.log(num++);
}
return function() {
let timer = setTimeout(function run() {
if (num > 20) {
console.log(Date.now() - start);
return;
}
printNum();
timer = setTimeout(run, 100);
}, 100);
printNum();
};
}
let go = makePrint()();