await」の並列処理などの基本的な内容から、応用的な使い方に関しても解説していきます。await」は、Promiseによる非同期処理をより簡潔に効率よく記述できるのが大きな特徴です。「非同期処理」は時間の掛かる処理の結果を待たずにすぐ次の処理を実行できる仕組みですが、Promiseを使うことで簡単に実現できます。Promiseの場合は「then」を使ってチェーンを繋いでいくので、少し単調なコードになりやすいわけです。複数のPromise処理を「then」を使って実行すると以下のようになります。getAnotherThing(item)})場合によっては「Promise.all()」を使うことで、もう少しだけスマートに記述できますがそれでも「then」を使った記述は必須です。一般的な構文から実際のプログラミング処理について学んでいきます。「async」は「function」の前に記述するだけで非同期処理を実行できる関数を定義できます。}このようにasyncを記述しておくと、この関数はPromiseを返すようになります。「await」はPromise処理の結果が返ってくるまで一時停止してくれる演算子となります。Promise処理このようにPromise処理が記述された関数の前に「await」を記述するだけで、結果が返ってくるまで一時停止してくれるわけです。await」はペアで一緒に使われることが多いわけです。以下のようなPromise処理があるとします。})}この例では、わざと3秒の時間が掛かる処理をPromise内に記述しているのが分かります。引数で受け取った値(num)を2乗した結果を「resolve」で返す単純な仕組みとなっています。await」を利用すると次のようになります。console.log(result);}myAsync();実行結果100この例では、asyncを付与することで非同期処理の関数を作成していますね。その関数内でPromise処理を記述している「myPromise()」の前に「await」を付与しているのが分かります。これにより、3秒後に結果が返ってくるPromise処理を一時的に待つことになり、結果を取得した瞬間に関数内の処理が続行されるのです。実行結果には引数に与えた「10」が2乗された値「100」が取得できていますね。従来のPromiseを利用した方法として「then」を使った場合を見てみます。console.log(data);})この例では、先ほど利用した3秒の時間が掛かるPromise処理を繋げて実行しています。「then」を利用することでメソッドチェーンによる記述になっているのが特徴です。Promise処理を繋げる場合は「then」の最後に実行するPromise関数をreturnするのを忘れないようにしなければいけません。1000000]まず、非常にコードがすっきりして把握しやすくなっているのが分かりますね。asyncが付与された関数内で、実行する予定のPromise処理をすべて「await」を付けて実行しています。これにより、上から順番にPromiseの結果が返ってきてコンソールへ出力されるというわけです。Promiseを使った場合との違いについて詳しく学んでいきます。console.log(data);})この例では、「myPromise()」の引数違いを3つ同時に実行しています。最後に「then」で実行結果を配列として出力するという流れになっていますね。await」で実行すると次のようになります。}myAsyncAll();まず最初に、実行予定のPromise処理をすべて起動させて変数に格納します。そのあとに「await」を付与することですべてのPromise処理を並列に動かして結果を取得することができるわけです。await」について学習しました。最後に、もう一度ポイントをおさらいしておきましょう!asyncはfunctionの前に付与するだけでPromiseを返す非同期処理を定義できるawaitはasyncが付与された関数内でのみ実行することができる並列処理を記述する場合は先にすべてのPromise処理を起動させておく上記内容を踏まえて、ぜひ自分でもプログラミングに取り入れて活用できるように頑張りましょう!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。無料体験レッスンを予約する書いた人マサトフリーランスのIT系ライターを8年従事。侍ブログ編集部としては、これまで270記事以上の記事を執筆。Linuxを3年学習。個人プロダクトのWebメディア・アプリ作成経験あり。