Թայմերի գործարկում JavaScript-ում
Չնայած որ setTimeout ֆունկցիան նախատեսված չէ
թայմերներ ստեղծելու համար, այնուամենայնիվ դրանք
կարելի է պատրաստել դրա միջոցով, եթե օգտագործվի
ռեկուրսիա:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
timer(); // կկանչենք ինքներս մեզ
}, 1000);
}
timer();
Նման թայմերը կարելի է դադարեցնել՝ պարզապես չթույլատրելով ռեկուրսիայի տեղի ունենալը:
let i = 0;
function timer() {
setTimeout(function() {
console.log(++i);
if (i < 10) { // գործարկում ենք, միայն եթե հաշվիչը փոքր է 10-ից
timer();
}
}, 1000);
}
timer();
Դուրս բերեք կոնսոլում 0 թիվը: Մեկ
վայրկյան հետո դուրս բերեք 1 թիվը, երկու
վայրկյան հետո դուրս բերեք 2 թիվը, 3
վայրկյան հետո դուրս բերեք 3 թիվը: Եվ այսպես
մինչև անվերջություն: