Při psaní skriptů pro automatizaci/sestavení Node.js občas potřebuji funkci „uspání“, abych mohl čekat na dokončení jiných úkolů. Není skvělé implementovat „spánky a čekání“, ale někdy není jiná cesta než čekat, až jiný systém dokončí to, co dělá.
Následující úryvek často používám ve skriptu modulu Node.js. 👇
// File: index.mjs
const sleep = (time) => {
return new Promise((resolve) => {
setTimeout(resolve, time);
});
}
// do something
await sleep(5000);
// do something else
Moduly Node.js podporují nejvyšší úroveň v těchto dnech.
Na tomto přístupu není nic špatného, ale velmi mě těší, že funkce časovače založené na slibech jsou dostupné v Node.js 16 prostřednictvím timers/promises
teď.
// File: index.mjs
import {
setTimeout,
} from 'timers/promises';
// do something
await setTimeout(5000);
// do something else
Méně kódu je vždy lepší kód! 👏