ღილაკზე მრავალჯერადი დაწკაპუნება ტაიმერის გასაშვებად JavaScript-ში
ზემოთ მოცემულ კოდს, სინამდვილეში, გააჩნია გარკვეული პრობლემა. ეს პრობლემა ვლინდება იმ შემთხვევაში, თუ ჩვენს ღილაკზე რამდენიმე დაწკაპუნება მოხდება. ამ შემთხვევაში ყოველი დაწკაპუნება გამოიწვევს ახალი ტაიმერის გაშვებას.
ანუ, მაგალითად, ღილაკზე სამჯერ დაწკაპუნება გამოიწვევს იმას, რომ სამი ტაიმერი გაეშვება, და თითოეული მათგანი გამოიტანს თვლელის მნიშვნელობას კონსოლში. ეს ნიშნავს, რომ მნიშვნელობები სამჯერ უფრო სწრაფად შეიცვლება!
აღწერილი პრობლემის გადასაჭრელად საჭიროა უბრალოდ გაკეთდეს ისე, რომ ღილაკზე განმეორებითი დაწკაპუნება არ გამოიწვიოს ტაიმერის ახალ გაშვებას. მაგალითად, შესაძლებელია ტაიმერის გაშვების შემდეგ ღილაკთან დაკავშირებული დაწკაპუნების დამმუშავებელი განბლოკოთ:
let start = document.querySelector('#start');
start.addEventListener('click', function func() {
let i = 0;
setInterval(function() {
console.log(++i);
}, 1000);
this.removeEventListener('click', func); // ვანბლოკებთ დამმუშავებელს
});
აიღეთ თქვენი ამოხსნა წინა ამოცანის. შეამოწმეთ, რომ ღილაკზე მრავალჯერადი დაწკაპუნება იწვევს თვლის დაჩქარებას. გამოსწორეთ ეს პრობლემა.