

例えばjavascriptで、以下のようなDB接続 → レコード取得 →
DB切断という関数を順番に走らせた場合、DBに接続が成功する前に、処理が全て走ってしまう可能性があります。

[code]

    function getRecord(){
      var value;
    
      dbConnect();         // DBに接続する処理
      value = findRecord(); // レコードを1件取得
      dbDisConnect();      // DBを切断する処理
    
      return value;
    }
    
[/code]

このような場合、一般的にはどのように処理の同期を取るのでしょうか？

callbackは関数の実行の順番をコントロールできそうですが、実行した結果が終わるのを待ってくれ無さそうです。

promiseで処理が成功したらresolve()を走らせるように、上手く関数を繋げるように書くのでしょうか？

それとも、setTimeoutで処理を遅らせたりするのでしょうか？

まさか、whileでグルグルして時間稼ぎするとか。。。


CC BY-SA 3.0
2016-08-29T06:37:08.327
28550
2016-08-30T02:16:11.123
2016-08-30T02:16:11.123
15142
15142
question
javascript node.js
JavascriptでDB接続処理を行う場合の、処理を同期させる方法について