タグ

ブックマーク / qiita.com/jun1s (1)

  • [JS]なぜawaitはasync関数の中にしか書けないのか - Qiita

    先に結論 awaitが使われている関数はジェネレータとして内部的に変換され、非同期処理になる。 その為、async関数である必要がある。 コンパイラから見ても、asyncが付いていることで効率的にコンパイルできる。 (追記 2021/07/21)最上位でのawaitは、もうすぐ可能になるかもしれない(一部ブラウザは実装済)。(鶏(async)が先か卵(await)が先かでコメントで教えて頂きました。感謝!) というわけで編 awaitはPromiseを返す関数を呼び出す方法として非常に便利ですが、それを使う箇所にはいちいちasyncを付けて回らなければならないのが面倒だと思ったことはないでしょうか。 そもそもawaitを内部で使っている関数が常にasyncである必要性がいまいちピンと来ない方もいるのではないでしょうか(最初にasync/awaitの構文を見た時、私自身がそうでした)。 例

    [JS]なぜawaitはasync関数の中にしか書けないのか - Qiita
    seikoudoku2000
    seikoudoku2000 2023/07/16
    これ、全然分かってなかた。素晴らしい記事に感謝 🙏
  • 1