Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah saya boleh membuat kelewatan 5 saat dalam JavaScript sebelum melaksanakan baris kod seterusnya?

Bagaimanakah saya boleh membuat kelewatan 5 saat dalam JavaScript sebelum melaksanakan baris kod seterusnya?

Patricia Arquette
Patricia Arquetteasal
2024-10-25 17:07:03391semak imbas

How can I create a 5-second delay in JavaScript before executing the next line of code?

Cara Menunggu 5 Saat Sebelum Melaksanakan Baris Seterusnya


Apabila bekerja dalam JavaScript, mengawal aliran pelaksanaan adalah yang terpenting. Pertimbangkan senario berikut: anda memerlukan fungsi untuk berhenti seketika selama 5 saat sebelum melaksanakan tindakan tertentu, seperti menyemak nilai pembolehubah.


Menggunakan Fungsi setTimeout


Secara tradisinya, pembangun JavaScript telah bergantung pada fungsi setTimeout untuk memperkenalkan kelewatan dalam pelaksanaan. Fungsi ini mengambil dua parameter: rentetan yang mewakili kod untuk dilaksanakan dan kelewatan dinyatakan dalam milisaat. Dalam kes tertentu anda, petikan kod di bawah adalah pendek:


<br>function stateChange(newState) {<br> setTimeout('', 5000);</p>
<p> if (newState == -1) {</p>
<pre class="brush:php;toolbar:false">alert('VIDEO HAS STOPPED');

}
}

Isu di sini ialah rentetan kosong dihantar ke setTimeout tidak tidak mempunyai apa-apa kesan. Untuk membuat kelewatan 5 saat sebelum menyemak pembolehubah newState, anda harus mengubah suai kod seperti berikut:


<br>function stateChange(newState) {<br> setTimeout(() = > {</p>
<pre class="brush:php;toolbar:false">if (newState == -1) {
  alert('VIDEO HAS STOPPED');
}

}, 5000);
}

Dengan menyediakan fungsi sebagai hujah pertama, anda menentukan kod kepada dilaksanakan selepas kelewatan. Kini, fungsi akan berhenti seketika selama 5 saat sebelum menyemak Keadaan baharu.


Penyelesaian Alternatif


Dalam JavaScript moden, anda juga boleh memanfaatkan async/ menunggu untuk mencapai keputusan yang sama. Async/wait memudahkan operasi tak segerak dan menjadikan kod anda lebih mudah dibaca. Berikut ialah cara untuk melaksanakannya untuk senario anda:



kelewatan berterusan = (ms) => Janji baharu(resolve => setTimeout(resolve, ms));

async function stateChange(newState) {
tunggu kelewatan(5000);

if (newState == -1 ) {

alert('VIDEO HAS STOPPED');

}
}

Kod ini menggunakan fungsi kelewatan, yang mengembalikan Janji yang diselesaikan selepas kelewatan yang ditentukan. Dengan menggunakan async/wait, anda mengisytiharkan fungsi stateChange sebagai fungsi tak segerak dan menunggu selesainya kelewatan, memastikan jeda 5 saat sebelum menyemak newState.

Atas ialah kandungan terperinci Bagaimanakah saya boleh membuat kelewatan 5 saat dalam JavaScript sebelum melaksanakan baris kod seterusnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn