Mengawal Pemasa Berulang dengan setInterval dan clearInterval
Dalam kod anda, anda bertujuan untuk menggunakan drawAll() sekali apabila kekunci tertentu ditekan. Walau bagaimanapun, fungsi setInterval menetapkan pemasa berulang yang berulang kali memanggil drawAll(). Untuk menangani perkara ini, kami boleh menggunakan clearInterval untuk menghentikan pelaksanaan gelung pemasa.
setInterval mencipta pemasa berulang dan mengembalikan pemegang. Pemegang ini berfungsi sebagai pengecam yang boleh digunakan oleh clearInterval untuk menghentikan pemasa daripada mencetuskan. Begini cara ia berfungsi:
var handle = setInterval(drawAll, 20); // When you want to cancel it: clearInterval(handle); handle = 0; // This marks the interval as cleared
Pada penyemak imbas, pemegangnya dijamin bukan nombor sifar. Oleh itu, menggunakan 0 sebagai nilai pemegang menunjukkan bahawa tiada pemasa ditetapkan.
Untuk menjadualkan fungsi untuk menyala sekali sahaja, anda boleh menggunakan setTimeout dan bukannya setInterval. setTimeout melaksanakan fungsi sekali selepas kelewatan yang ditentukan. Ia mengembalikan pemegang yang boleh digunakan dengan clearTimeout untuk membatalkan panggilan fungsi sebelum ia dilaksanakan jika perlu:
setTimeout(drawAll, 20);
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengawal Pemasa Berulang dalam JavaScript Menggunakan `setInterval` dan `clearInterval`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!