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

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

Barbara Streisand
Libérer: 2025-01-03 11:56:40
original
702 Les gens l'ont consulté

How Can I Efficiently Implement a Sleep Function in Modern JavaScript?

Créer une solution de sommeil efficace en JavaScript : une approche moderne

Alors que la fonction pausecomp offre une solution rudimentaire pour induire une pause en JavaScript, les normes contemporaines exigent une solution plus efficace et une approche élégante. Cet article présente les meilleures pratiques actuelles pour obtenir un « vrai sommeil » au sein d'une fonction en JavaScript, qui a évolué depuis 2009.

La fonction de sommeil supérieure

function sleep(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}
Copier après la connexion

Cette fonction exploite la promesse API, une fonctionnalité intégrée introduite dans ECMAScript 2015, pour créer une promesse qui représente l'opération de mise en veille asynchrone. Une fois le nombre spécifié de millisecondes (ms) écoulé, la fonction de résolution est invoquée, ce qui déclenche à son tour la poursuite de l'exécution.

Exemples d'utilisation

En tant que fonction :

const sleep = ms => new Promise(r => setTimeout(r, ms));
Copier après la connexion

Une seule ligne Syntaxe :

await new Promise(r => setTimeout(r, 2000));
Copier après la connexion

Démo :

async function demo() {
    for (let i = 0; i < 5; i++) {
        console.log(`Waiting ${i} seconds...`);
        await sleep(i * 1000);
    }
    console.log('Done');
}

demo();
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal