質問編集履歴
12
変更メソッド追加っす
title
CHANGED
File without changes
|
body
CHANGED
@@ -97,7 +97,17 @@
|
|
97
97
|
|
98
98
|
### 解決後の備忘録
|
99
99
|
今回の変更箇所を記載しておきます。
|
100
|
+
`function` から `const 変数名` に変更。
|
100
101
|
```express
|
102
|
+
const getSQLData = async()=>{
|
103
|
+
sql = `select * from test where yymm = '${yymm}'`;
|
104
|
+
// グローバル変数にセット
|
105
|
+
var [Gl_Data] = await pool.query(Sql);
|
106
|
+
...
|
107
|
+
};
|
108
|
+
```
|
109
|
+
変更後がこちら↓
|
110
|
+
```express
|
101
111
|
const express = require('express');
|
102
112
|
const app = express()
|
103
113
|
const mysql = require('mysql2/promise');
|
11
修正どす
title
CHANGED
File without changes
|
body
CHANGED
@@ -22,6 +22,7 @@
|
|
22
22
|
```express
|
23
23
|
const express = require('express');
|
24
24
|
const app = express()
|
25
|
+
const mysql = require('mysql2/promise');
|
25
26
|
// ~省略~
|
26
27
|
const ddate = new Date();// 今日を取得
|
27
28
|
var yymm = ddate.toFormat("YYMM"); // 2101形式でセット
|
@@ -99,6 +100,7 @@
|
|
99
100
|
```express
|
100
101
|
const express = require('express');
|
101
102
|
const app = express()
|
103
|
+
const mysql = require('mysql2/promise');
|
102
104
|
// グローバル宣言
|
103
105
|
var tmpData;
|
104
106
|
var gl_Data;
|
10
修正どす
title
CHANGED
File without changes
|
body
CHANGED
@@ -154,7 +154,7 @@
|
|
154
154
|
...
|
155
155
|
});
|
156
156
|
}
|
157
|
-
catch(err){
|
157
|
+
.catch(err){
|
158
158
|
// html側にエラー状況を通告
|
159
159
|
response.status(404).send('404 error, Page Not found');
|
160
160
|
// コンソール側にエラーを表示
|
9
修正どす
title
CHANGED
File without changes
|
body
CHANGED
@@ -149,7 +149,7 @@
|
|
149
149
|
var data = getColumnData(hogeNum, gl_Data, 'data');// 配列に置き換え
|
150
150
|
var item = getColumnData(hogeNum, gl_Item, 'item');// 配列に置き換え
|
151
151
|
response.render('test.ejs',{
|
152
|
-
data: data
|
152
|
+
data: data,
|
153
153
|
item: item,
|
154
154
|
...
|
155
155
|
});
|
8
修正どす
title
CHANGED
File without changes
|
body
CHANGED
@@ -59,7 +59,7 @@
|
|
59
59
|
// ここでは1個ですが、実際には5個のSQLを動かしていて
|
60
60
|
// getColumnDataモジュールで配列に置き換えた処理を4個動かしています
|
61
61
|
response.render('test.ejs',{
|
62
|
-
data: data
|
62
|
+
data: data,
|
63
63
|
item: item,
|
64
64
|
...
|
65
65
|
});
|
7
修正どす
title
CHANGED
File without changes
|
body
CHANGED
@@ -146,11 +146,11 @@
|
|
146
146
|
app.use('/*',async( request, response, next ) => {
|
147
147
|
try{
|
148
148
|
// getColumnDataモジュールで配列に置き換えた処理を4個動かしています
|
149
|
-
|
149
|
+
var data = getColumnData(hogeNum, gl_Data, 'data');// 配列に置き換え
|
150
|
-
|
150
|
+
var item = getColumnData(hogeNum, gl_Item, 'item');// 配列に置き換え
|
151
151
|
response.render('test.ejs',{
|
152
|
-
data:
|
152
|
+
data: data
|
153
|
-
item:
|
153
|
+
item: item,
|
154
154
|
...
|
155
155
|
});
|
156
156
|
}
|
6
修正どす
title
CHANGED
File without changes
|
body
CHANGED
@@ -131,16 +131,16 @@
|
|
131
131
|
app.post('/views/', async(request, response, next) => {
|
132
132
|
yymm = ${request.body.test}`; // postで年月情報取得
|
133
133
|
// SQLによるDBデータ取得
|
134
|
-
await getSQLData();
|
134
|
+
await getSQLData();
|
135
135
|
next();
|
136
136
|
});
|
137
|
-
app.get('/',
|
137
|
+
app.get('/', async( request, response, next ) => {
|
138
138
|
moveImage();// 取得写真を別フォルダに移動
|
139
139
|
makeMovie();// 写真から動画生成 exec(`ffmpeg ...
|
140
140
|
console.log("app.get");
|
141
141
|
|
142
142
|
// SQLによるDBデータ取得
|
143
|
-
await getSQLData();
|
143
|
+
await getSQLData();
|
144
144
|
next();
|
145
145
|
});
|
146
146
|
app.use('/*',async( request, response, next ) => {
|
5
ソース内は太字にならず...
title
CHANGED
File without changes
|
body
CHANGED
@@ -143,7 +143,7 @@
|
|
143
143
|
await getSQLData();// await欲しいっす
|
144
144
|
next();
|
145
145
|
});
|
146
|
-
app.use('/*',async( request, response,
|
146
|
+
app.use('/*',async( request, response, next ) => {
|
147
147
|
try{
|
148
148
|
// getColumnDataモジュールで配列に置き換えた処理を4個動かしています
|
149
149
|
gl_Data = getColumnData(...);// 配列に置き換え
|
4
ソース内は太字にならず...
title
CHANGED
File without changes
|
body
CHANGED
@@ -99,9 +99,10 @@
|
|
99
99
|
```express
|
100
100
|
const express = require('express');
|
101
101
|
const app = express()
|
102
|
-
|
102
|
+
// グローバル宣言
|
103
|
+
var tmpData;
|
103
|
-
|
104
|
+
var gl_Data;
|
104
|
-
|
105
|
+
var gl_Item;
|
105
106
|
...
|
106
107
|
// ~省略~
|
107
108
|
const ddate = new Date();// 今日を取得
|
@@ -111,12 +112,12 @@
|
|
111
112
|
// ここで連想配列から配列にセットし直してreturn
|
112
113
|
}
|
113
114
|
// SQLの実行関数
|
114
|
-
|
115
|
+
const getSQLData = async()=>{
|
115
116
|
// SQLによるDBデータ取得
|
116
117
|
sql = `select * from test where yymm = '${yymm}'`;
|
117
118
|
var [Gl_Data] = await pool.query(Sql);
|
118
119
|
...
|
119
|
-
|
120
|
+
};
|
120
121
|
|
121
122
|
app.set('ejs', ejs.renderFile);
|
122
123
|
const pool = mysql.createPool({
|
@@ -130,7 +131,7 @@
|
|
130
131
|
app.post('/views/', async(request, response, next) => {
|
131
132
|
yymm = ${request.body.test}`; // postで年月情報取得
|
132
133
|
// SQLによるDBデータ取得
|
133
|
-
|
134
|
+
await getSQLData();// await欲しいっす
|
134
135
|
next();
|
135
136
|
});
|
136
137
|
app.get('/', ,async( request, response, next ) => {
|
@@ -139,7 +140,7 @@
|
|
139
140
|
console.log("app.get");
|
140
141
|
|
141
142
|
// SQLによるDBデータ取得
|
142
|
-
|
143
|
+
await getSQLData();// await欲しいっす
|
143
144
|
next();
|
144
145
|
});
|
145
146
|
app.use('/*',async( request, response, **next** ) => {
|
@@ -155,7 +156,7 @@
|
|
155
156
|
}
|
156
157
|
catch(err){
|
157
158
|
// html側にエラー状況を通告
|
158
|
-
|
159
|
+
response.status(404).send('404 error, Page Not found');
|
159
160
|
// コンソール側にエラーを表示
|
160
161
|
console.log(`catch: ${err}`);
|
161
162
|
};
|
3
備忘録追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -92,4 +92,78 @@
|
|
92
92
|
```
|
93
93
|
また、こうした方がいいんじゃない?という上記ソースを全く変えてしまう
|
94
94
|
お答えでも、全然かまいません。
|
95
|
-
すいませんが、よろしくお願い致します。
|
95
|
+
すいませんが、よろしくお願い致します。
|
96
|
+
|
97
|
+
### 解決後の備忘録
|
98
|
+
今回の変更箇所を記載しておきます。
|
99
|
+
```express
|
100
|
+
const express = require('express');
|
101
|
+
const app = express()
|
102
|
+
**var tmpData;** // グローバル宣言
|
103
|
+
**var gl_Data;**
|
104
|
+
**var gl_Item;**
|
105
|
+
...
|
106
|
+
// ~省略~
|
107
|
+
const ddate = new Date();// 今日を取得
|
108
|
+
var yymm = ddate.toFormat("YYMM"); // 2101形式でセット
|
109
|
+
|
110
|
+
function getColumnData(num, result, column){
|
111
|
+
// ここで連想配列から配列にセットし直してreturn
|
112
|
+
}
|
113
|
+
// SQLの実行関数
|
114
|
+
**const getSQLData = async()=>{**
|
115
|
+
// SQLによるDBデータ取得
|
116
|
+
sql = `select * from test where yymm = '${yymm}'`;
|
117
|
+
var [Gl_Data] = await pool.query(Sql);
|
118
|
+
...
|
119
|
+
**};**
|
120
|
+
|
121
|
+
app.set('ejs', ejs.renderFile);
|
122
|
+
const pool = mysql.createPool({
|
123
|
+
host: 'localhost',
|
124
|
+
user: 'root',
|
125
|
+
password: 'test',
|
126
|
+
database: 'test',
|
127
|
+
});
|
128
|
+
app.use('/', express.static(path.join(__dirname, 'stream')));// Movie
|
129
|
+
app.use('/', express.static(path.join(__dirname, 'image')));// mp4ファイルのサムネイル用
|
130
|
+
app.post('/views/', async(request, response, next) => {
|
131
|
+
yymm = ${request.body.test}`; // postで年月情報取得
|
132
|
+
// SQLによるDBデータ取得
|
133
|
+
**await getSQLData();**// await欲しいっす
|
134
|
+
next();
|
135
|
+
});
|
136
|
+
app.get('/', ,async( request, response, next ) => {
|
137
|
+
moveImage();// 取得写真を別フォルダに移動
|
138
|
+
makeMovie();// 写真から動画生成 exec(`ffmpeg ...
|
139
|
+
console.log("app.get");
|
140
|
+
|
141
|
+
// SQLによるDBデータ取得
|
142
|
+
**await getSQLData();**// await欲しいっす
|
143
|
+
next();
|
144
|
+
});
|
145
|
+
app.use('/*',async( request, response, **next** ) => {
|
146
|
+
try{
|
147
|
+
// getColumnDataモジュールで配列に置き換えた処理を4個動かしています
|
148
|
+
gl_Data = getColumnData(...);// 配列に置き換え
|
149
|
+
gl_Item = getColumnData(...);// 配列に置き換え
|
150
|
+
response.render('test.ejs',{
|
151
|
+
data: gl_Data
|
152
|
+
item: gl_Item,
|
153
|
+
...
|
154
|
+
});
|
155
|
+
}
|
156
|
+
catch(err){
|
157
|
+
// html側にエラー状況を通告
|
158
|
+
**response.status(404).send('404 error, Page Not found');**
|
159
|
+
// コンソール側にエラーを表示
|
160
|
+
console.log(`catch: ${err}`);
|
161
|
+
};
|
162
|
+
console.log("Successful");
|
163
|
+
});
|
164
|
+
|
165
|
+
https.createServer(options, app).listen(port,() => {
|
166
|
+
console.log('server start');
|
167
|
+
});
|
168
|
+
```
|
169
|
+
うん、スッキリしました。
|
2
変数前後の[]を削除
title
CHANGED
File without changes
|
body
CHANGED
@@ -55,7 +55,7 @@
|
|
55
55
|
// SQLによるDBデータ取得
|
56
56
|
sql = `select * from test where yymm = '${yymm}'`;
|
57
57
|
var [data] = await pool.query(Sql);
|
58
|
-
// var
|
58
|
+
// var data = await getSQLData(sql); とセット
|
59
59
|
// ここでは1個ですが、実際には5個のSQLを動かしていて
|
60
60
|
// getColumnDataモジュールで配列に置き換えた処理を4個動かしています
|
61
61
|
response.render('test.ejs',{
|
1
一か所だけの表記訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
複数回処理されていることがわかりました。
|
10
10
|
|
11
11
|
この事から、SQLを無駄に動かさないように
|
12
|
-
app.useの共通処理をやめ、
|
12
|
+
`app.use`の共通処理をやめ、
|
13
13
|
`get` `post` ともに1度だけSQLを実行すべく
|
14
14
|
`function`でモジュール化しましたが、
|
15
15
|
知識が乏しいので、`undefined is not a function` と
|