Menjeda dan Menyambung semula setTimeout() dalam JavaScript
Dalam JavaScript, setTimeout() membenarkan anda menjadualkan fungsi untuk dilaksanakan selepas ditetapkan kelewatan. Walau bagaimanapun, anda mungkin menghadapi senario di mana anda perlu menjeda atau menyambung semula pelaksanaan tamat masa.
Menjeda dan Menyambung semula setTimeout()
Untuk menjeda tamat masa berjalan, anda boleh menggunakan fungsi window.clearTimeout(). ID tamat masa diperlukan untuk dikosongkan sebagai hujah. Selepas menjeda, anda boleh menyambung semula tamat masa menggunakan kaedah pemasa.resume().
Pemasa Tersuai dengan Fungsi Jeda/Sambung Semula
Pendekatan alternatif ialah mencipta tersuai objek pemasa dengan kaedah jeda dan sambung semula. Ini membolehkan anda mengawal tamat masa dengan lebih langsung. Berikut ialah contoh pemasa sedemikian:
<code class="javascript">var Timer = function(callback, delay) { var timerId, start, remaining = delay; this.pause = function() { window.clearTimeout(timerId); timerId = null; remaining -= Date.now() - start; }; this.resume = function() { if (timerId) { return; } start = Date.now(); timerId = window.setTimeout(callback, remaining); }; this.resume(); };</code>
Mendapatkan Baki Masa pada setTimeout()
Malangnya, tiada cara terbina dalam untuk menghidupkan baki masa setTimeout(). Walau bagaimanapun, anda boleh menggunakan pendekatan yang diterangkan di atas, di mana anda menyimpan masa mula secara manual dan mengira baki masa apabila menjeda pemasa.
Dengan membalut setTimeout() dalam objek pemasa tersuai atau menggunakan pendekatan pengiraan masa manual , anda boleh mencapai fungsi jeda dan sambung semula untuk tamat masa anda dalam JavaScript.
Atas ialah kandungan terperinci Bagaimana untuk Jeda dan Sambung semula setTimeout() dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!