Maison >interface Web >js tutoriel >Comment puis-je implémenter une fonction de veille en JavaScript moderne ?

Comment puis-je implémenter une fonction de veille en JavaScript moderne ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-30 11:06:181031parcourir

How Can I Implement a Sleep Function in Modern JavaScript?

Équivalent Sleep() de JavaScript : une solution moderne

En JavaScript, l'approche traditionnelle pour suspendre l'exécution a été la fonction pausecomp(). Cependant, avec les progrès du langage, une solution plus élégante a émergé, tirant parti des promesses et de la programmation asynchrone.

L'alternative JavaScript moderne à sleep() est une fonction nommée sleep(). Voici sa définition :

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

Cette fonction prend une durée d'une milliseconde et renvoie une promesse qui se résout après l'intervalle de temps spécifié. En utilisant cette promesse avec wait, vous pouvez effectivement suspendre l'exécution de votre code pendant la période souhaitée. Par exemple :

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

example();

Vous pouvez également utiliser les fonctions fléchées pour définir une version concise de sleep() :

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

Utiliser cette version :

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

example();

Avec cette approche moderne, vous pouvez réaliser une véritable veille asynchrone en JavaScript, en suspendant l'exécution de votre code et en la reprenant après la durée spécifiée, sans recourir à l'héritage Fonction pausecomp().

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn