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.
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> <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><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> <div class="code" style="position:relative; padding:0px; margin:0px;"><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.
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:
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!