JavascriptでDB接続処理を行う場合の、処理を同期させる方法について
例えばjavascriptで、以下のようなDB接続 → レコード取得 → DB切断という関数を順番に走らせた場合、DBに接続が成功する前に、処理が全て走ってしまう可能性があります。
function getRecord(){
var value;
dbConnect(); // DBに接続する処理
value = findRecord(); // レコードを1件取得
dbDisConnect(); // DBを切断する処理
return value;
}
このような場合、一般的にはどのように処理の同期を取るのでしょうか?
callbackは関数の実行の順番をコントロールできそうですが、実行した結果が終わるのを待ってくれ無さそうです。
promiseで処理が成功したらresolve()を走らせるように、上手く関数を繋げるように書くのでしょうか?
それとも、setTimeoutで処理を遅らせたりするのでしょうか?
まさか、whileでグルグルして時間稼ぎするとか。。。