非同期処理の制御について紹介します。アプリケーションでは、クライアントサイドのロジックとサーバーサイドのロジックの関係は疎結合となるため、処理は非同期を前提として考える必要があります。イベントによって行われます。サーバーにリクエストを出し、イベントハンドラ内で完了のステータスを待って値を取り出します。回で済むとは限らず、複数回発生する可能性があります。保つために、イベントハンドラをネストすることになり、その間に画像のロードやユーザーのアクションについてのイベントのハンドラが入ると、コードはひたすら右側に伸びていくことになります。これでは記述も煩雑になるだけでなく、デバッグも大変です。これがいわゆる「コールバック地獄」とよばれるものです。ライブラリやフレームワークが様々な機能を提供してきました。いった機能が標準で用意されています。以下の機能が標準で提供されています。つの機能についてサンプルコードを交えて紹介します。いかなるバージョンでも動作しませんのでご注意ください。以降のものを使用してください。なり、コードを記述した順番とは異なります。コンソールに出力させるような記述を考えます。コールバック非同期処理の完了がイベントで通知されるならば、後続の関数の呼び出しはそのイベントハンドラ内で行えば良いことになります。上記を踏まえ、従来だと以下のように、コールバックルーチン内に次の処理の呼び出しを書いていくことになります。これだと、前述したように、ひとつの大きな単位での処理を完了までに扱う非同期の数が増えると、コールバックルーチンのネストが深くなり保守性が落ちていきます。非同期処理を抽象化したオブジェクトです。使用すると、以下のように非同期処理をメソッドチェーンで記述していくことができ、かつ、前回の処理の成否によって処理を別けることもできます。Promise(()=>{1回目の処理}).then(2回めの処理,エラー処理).then(3回めの処理)...具体的なコードは以下のとおりです。使用するとメソッドチェーン形式で非同期処理の実行順を制御できますが、ステートメントとしては一行になります。行の長さが処理の数によっては非常に長くなる場合があり、もしかしたら可読性が落ちると感じるかもしれません。キーワードを使用して以下のように簡潔に記述することができます。項で紹介したサンプルコードのものと同様です。回続けて呼び出していますが、その間に以下のように他の構文を記述することもできます。使用しても制御することができます。非同期を制御するためにあるのではありません。「繰り返すもの」であり、プログラミング言語的には、「処理位置を把握しつつ、コレクションの各要素にアクセス可能なオブジェクト」といったところでしょうか。して宣言することができます。ボタンをクリックすると、クリックごとにインクリメントされた数字がブラウザー上に表示されます。ループした回数を返していることに注目してください。データが返るのが確認できます。この性質を利用し、以下のようなコードでイベント制御を行うことができます。進めるようにしています。組み合わせることもできます。使用した方法を紹介しました。使用することができます。関数などもありますが、これらについてはあらためて紹介させていただきます。FeedbackTrademarks。