async
とawait
で書いていると、とりあえずasync
してあげるためだけのmain()
を書きたくなる(書いている)。これを見たり書いたりすると古の作法を思い出してしまい、体がかゆくなってしまう。セケンではあまり話題になっていなさそうなので、僕がうまく使えていないだけのようだ。それともざっくりIIFEで括るのが主流なのだろうか。"use async";
とかないのかな。
await thud(
await xyzzy(
await plugh(
await fred(
await waldo(
await garply(
await grault(
await corge(
await quux(
await qux(
await baz(
await bar(
await foo()))))))))))));
いわゆるwaterfallと呼ばれるようなバケツリレーの処理をこのようなコードに機械的に変換していたら楽しくなってきた。ネストがどうとかいうことより、実際に処理される順と書かれている順が真逆なので良くない。カッコの中にawait
を書くのが良くないという話か、await
は必ず明示的に値を受け取るべきという話なのかもしれない。
Promiseと違ってasync
/await
は書きやすさのわりに人が書くべきものではないという印象を持ってしまった。フローチャートを書いたら変換してくれるような自動コード生成の分野で最大の威力を発揮しそうだ。でも書く。