Une approche moderne de la veille JavaScript : présentation de la solution basée sur les promesses
Depuis sa création en 2009, JavaScript a subi des transformations importantes. La fonction pausecomp, autrefois populaire, permettant de créer un « vrai » sommeil au sein d'une fonction est devenue obsolète. Aujourd'hui, une approche plus efficace et plus polyvalente nous attend.
La version de veille moderne de JavaScript s'appuie sur la puissance de Promises. En utilisant le nouveau constructeur Promise(), nous pouvons créer une promesse qui se résout après un nombre spécifié de millisecondes. En utilisant le mot-clé wait, nous pouvons suspendre l'exécution de la fonction jusqu'à ce que la promesse soit résolue, obtenant ainsi le comportement de sommeil souhaité.
Voici l'extrait de code mis à jour :
function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); }
Cette fonction peut être utilisé de plusieurs manières :
En tant que one-liner :
await new Promise(r => setTimeout(r, 2000));
En tant que fonction autonome :
const sleep = ms => new Promise(r => setTimeout(r, ms));
En tant que fonction tapée dans TypeScript :
const sleep = (ms: number) => new Promise((r) => setTimeout(r, ms));
Pour utiliser la fonction veille, appelez-la simplement avec la durée souhaitée en millisecondes et attendez son résolution :
await sleep(2000);
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();
Cette approche mise à jour simplifie non seulement la mise en œuvre du sommeil, mais fournit également une solution moderne et efficace qui exploite la nature asynchrone de JavaScript.
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!