なんか Node でコマンドラインツールを書いていて sleep したい用事があったので作ってみたらこうなった。
async function sleep(t) {
return await new Promise(r => {
setTimeout(() => {
r();
}, t);
});
}
async function main() {
while (true) {
console.log("sleep...");
await sleep(1000);
}
}
main();
https://github.com/tc39/proposal-top-level-await これが取り込まれると main
がいらなくなってハッピー。
※ 書いたあとで気がついたけど
https://qiita.com/albno273/items/c2d48fdcbf3a9a3434db で同じ方式が説明されていた。