Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Melaksanakan Fungsi Tidur dalam JavaScript Moden?

Bagaimanakah Saya Boleh Melaksanakan Fungsi Tidur dalam JavaScript Moden?

Susan Sarandon
Susan Sarandonasal
2024-12-30 11:06:181031semak imbas

How Can I Implement a Sleep Function in Modern JavaScript?

JavaScript's Sleep() Equivalent: A Modern Solution

Dalam JavaScript, pendekatan tradisional untuk menjeda pelaksanaan ialah fungsi pausecomp(). Walau bagaimanapun, dengan kemajuan dalam bahasa, penyelesaian yang lebih elegan telah muncul, memanfaatkan janji dan pengaturcaraan tak segerak.

Alternatif JavaScript moden untuk sleep() ialah fungsi bernama sleep(). Inilah definisinya:

function sleep(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}

Fungsi ini mengambil tempoh milisaat dan mengembalikan janji yang diselesaikan selepas selang masa yang ditentukan. Dengan menggunakan janji ini dengan menunggu, anda boleh menjeda pelaksanaan kod anda dengan berkesan untuk tempoh yang dikehendaki. Contohnya:

async function example() {
    console.log('Starting example...');
    await sleep(2000); // Pause for 2 seconds
    console.log('Example finished');
}

example();

Sebagai alternatif, anda boleh menggunakan fungsi anak panah untuk mentakrifkan versi ringkas sleep():

const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));

Menggunakan versi ini:

async function example() {
    console.log('Starting example...');
    await sleep(2000);
    console.log('Example finished');
}

example();

Dengan pendekatan moden ini, anda boleh mencapai tidur tak segerak sebenar dalam JavaScript, menjeda pelaksanaan kod anda dan meneruskannya selepas tempoh yang ditentukan, tanpa menggunakan fungsi pausecomp() warisan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Fungsi Tidur dalam JavaScript Moden?. 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