鈍足ランナーのIT日記

走るのが好きな5流のITエンジニアのブログ。

趣味の範囲は広いけど、どれも中途半端なクソブロガー楽しめるWebアプリを作ってあっと言わせたい。サーバーサイドPerl(Mojolicious)、クライアントサイドVue.js。Arduinoにも触手を伸ばす予定。

Promise,async,awaitどうやって使うのが良いか

awaitはasync functionの中で使うもの

また、async functionの中でawaitを使うと、処理終了までブロックされる。
ただし、async functionを呼び出し元のメインの処理は待つことはない。

以下のソースの中のasyncCall();の後ろにconsole.log("hoge")を書くとすぐ実行されることがわかると思います。

developer.mozilla.org

awaitの返却値はresolveした結果

awaitでpromiseでresolveした結果を受け取れるので、次の処理で利用できる

async functionはPromiseを返す

暗黙的にasync function はpromiseを返す。

結局どう書けばいいの?

非同期の処理(callback処理)はPromiseでラップしまくる。
async functionの中でawaitを使いながら同期処理的に書いていく。