Maison >interface Web >js tutoriel >Comment puis-je implémenter une véritable fonction « Veille » en JavaScript ?
Dans le domaine de la programmation, la poursuite de l'introduction de retards artificiels a s'appuyait souvent sur le concept de « sommeil ». Pour JavaScript, la quête d’émulation de cette fonctionnalité a conduit à une multitude d’approches. L'une de ces solutions, la fonction pausecomp, utilise une méthode rudimentaire pour imiter le sommeil. Cependant, à mesure que la technologie progresse, les solutions disponibles évoluent également.
Depuis les premiers jours de l'existence de JavaScript, des progrès remarquables ont été réalisés dans l'évolution de l'ingénierie du sommeil. À partir de 2017, l'approche suivante représente le summum de la manipulation du sommeil en JavaScript :
function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); }
Cet extrait introduit un mécanisme puissant qui permet la création de promesses, servant d'espaces réservés pour l'achèvement d'opérations asynchrones. En tirant parti de la fonctionnalité intégrée de l'objet Promise, JavaScript peut désormais simuler le sommeil de manière transparente et efficace.
En pratique, implémenter sleep est aussi simple que d'appeler la fonction sleep avec la durée de retard souhaitée en millisecondes :
await sleep(2000);
Cette ligne de code concise demande au moteur JavaScript de suspendre l'exécution pendant la période spécifiée. L'exécution reprend une fois la promesse résolue, permettant un véritable sommeil dans le flux d'une fonction.
En résumé, le paysage JavaScript a subi une transformation significative en matière de manipulation du sommeil. L'approche susmentionnée, utilisant des promesses et des principes de programmation asynchrone, s'impose comme la championne incontestée, offrant aux développeurs un moyen élégant et efficace d'introduire des délais contrôlés dans leur code.
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!