JavaScript の promise パターンについて簡単に書く。promise パターンについては、以下のページに詳しく書かれている。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Using_promises
https://blogs.msdn.microsoft.com/ie_jp/2011/10/04/promise-javascript/
このパターンを使うと、Javascriptで非同期処理を書くときにコードがシンプルになる。仕組みをざっくり説明すると、非同期処理を行う関数を発行した際、その関数から受け取った戻り値(promise)に対して、任意のタイミングで then(成功時のコールバック関数, 失敗時のコールバック関数) 関数を実行し、その時点で非同期処理が終わっていればコールバック関数が実行され、終わっていなければそこでwaitするというもの。
非同期処理発行時の戻り値をあとでチェックするという方式は、JavaのFutureパターンに似ているなあ、と思った。
https://docs.oracle.com/javase/jp/8/docs/api/java/util/concurrent/Future.html
以下は、参考として、以前JavaのFutureパターンを使って書いたサンプルプログラム。