回答編集履歴

2

説明不足

2017/08/07 04:53

投稿

so87
so87

スコア764

test CHANGED
@@ -60,6 +60,10 @@
60
60
 
61
61
  console.log('Database Connect');//Database Connectが出力
62
62
 
63
+
64
+
65
+ //この関数をぬけると呼び出していたindex.jsの続きが実行されます。
66
+
63
67
  },
64
68
 
65
69
  };
@@ -74,7 +78,7 @@
74
78
 
75
79
  // index.js
76
80
 
77
- var mongo = require('./lib/db'); //上記クラスを読み込み(実行
81
+ var mongo = require('./lib/db'); //上記クラスを読み込み(lib/db.jsが走ります
78
82
 
79
83
  mongo.connect(); //上に記載したconnect関数のコメントの挙動となります。要するに「繋がったら教えて」と頼んだだけです。
80
84
 
@@ -82,15 +86,15 @@
82
86
 
83
87
  //ここでメインプログラム(index.js)終了。
84
88
 
85
- //ただしMongoClientにコールバックを登録していたので、プロセスは死んでません。
86
-
87
89
  ```
88
90
 
91
+ index.jsは終了しましたが、続きがあります。
89
92
 
93
+ MongoClientにコールバックを登録していたので、プロセスは死んでません。
90
94
 
91
- MongoClientから接続処理の実行結果と共に、コールバック関数が呼び出され
95
+ MongoClientから接続処理の結果としてコールバック関数が、このタイミングで呼び出されます。
92
96
 
93
- このタイミングで以下のコードが実行されます。
97
+ DBの接続は速そうに見えても、プログラム的には色々と手続き処理があり、そそこ重い処理となるで、今回のコード内容ですと、タイミング的にはindex.jsの同期処理の後となる、このタイミングになるはずです。
94
98
 
95
99
  ```Javascript
96
100
 
@@ -102,7 +106,7 @@
102
106
 
103
107
  console.log(this.connection); // db接続オブジェクト表示
104
108
 
105
- //コールバック処理が終わったので、プロセスがここで死にます。
109
+ //コールバック処理が終わったので、プロセスがここでやっと死にます。
106
110
 
107
111
  ```
108
112
 

1

説明不備

2017/08/07 04:53

投稿

so87
so87

スコア764

test CHANGED
@@ -44,17 +44,17 @@
44
44
 
45
45
  //ここまで順番どうりです。
46
46
 
47
- //↓もクラス定義を行って外部公開は完了。
48
-
49
- //connectionの初期化(null代入)とconnect関数定義が完了
47
+ //↓もconnectionの初期化(null代入)とconnect関数定義し、外部公開が完了
50
48
 
51
49
  module.exports = {
52
50
 
53
51
  connection: null,
54
52
 
53
+ //connect関数定義
54
+
55
55
  connect: function() {
56
56
 
57
- MongoClient.connect(config.mongodb.url); //繋いでという命令をしただけで、繋がったら登録したコールバック関数を後で実行してね、という約束だけはした。
57
+ MongoClient.connect(config.mongodb.url); //繋いでという命令実行。繋がったら登録したコールバック関数を後で実行してね、という約束だけはした。
58
58
 
59
59
  console.log(this.connection);// まだ繋がってないのでnullで初期化されたnullが表示されます。
60
60