回答編集履歴
1
Promise版の使い方を追記
test
CHANGED
@@ -27,3 +27,33 @@
|
|
27
27
|
```
|
28
28
|
|
29
29
|
一旦これで様子を見てください。
|
30
|
+
|
31
|
+
---
|
32
|
+
|
33
|
+
> `const { promisify } = require("util");`
|
34
|
+
|
35
|
+
これPromise使おうとしてるんですね。
|
36
|
+
mysql2はPromiseにネイティブ対応しているのでそちらを共有します。
|
37
|
+
|
38
|
+
参考リンク
|
39
|
+
- [Using Promise wrapper | mysql2](https://github.com/sidorares/node-mysql2#using-promise-wrapper)
|
40
|
+
- [await.js | mysql2 プロジェクトの公式が用意しているexample](https://github.com/sidorares/node-mysql2/blob/master/examples/promise-co-await/await.js)
|
41
|
+
|
42
|
+
```js
|
43
|
+
const { promisify } = require("util");
|
44
|
+
const path = require("path");
|
45
|
+
const { sql } = require("@garafu/mysql-fileloader")({ root: path.join(__dirname, "./sql") });
|
46
|
+
const config = require("../../config/mysql.config.js");
|
47
|
+
|
48
|
+
// Promise対応版はJSファイルレベルで分離されている
|
49
|
+
const mysql = require("mysql2/promise");
|
50
|
+
|
51
|
+
// await構文を使う為にasync関数を定義する
|
52
|
+
const main = async () => {
|
53
|
+
// connection作る時、Promiseで受け取る仕組みになっているのでasync関数の中でawait構文を使いつつ代入
|
54
|
+
const c = await mysql.createConnection(config);
|
55
|
+
const [rows] = await c.query('SELECT * FROM users');
|
56
|
+
console.log(rows);
|
57
|
+
}
|
58
|
+
main();
|
59
|
+
```
|