回答編集履歴
2
mysqlを使って自前のPromiseで処理するとすると...
    
        answer	
    CHANGED
    
    | @@ -45,4 +45,39 @@ | |
| 45 45 | 
             
                console.log(rows);
         | 
| 46 46 | 
             
                connection.end();
         | 
| 47 47 | 
             
            })();
         | 
| 48 | 
            +
            ```
         | 
| 49 | 
            +
             | 
| 50 | 
            +
            最後に上のサンプルをmysqlを使って自前のPromiseで処理するとすると...
         | 
| 51 | 
            +
            ```javascript
         | 
| 52 | 
            +
            const mysql = require('mysql');
         | 
| 53 | 
            +
             | 
| 54 | 
            +
            async function mysql_createConnection(option) {
         | 
| 55 | 
            +
                return Promise.resolve(mysql.createConnection(option));
         | 
| 56 | 
            +
            }
         | 
| 57 | 
            +
             | 
| 58 | 
            +
            async function connection_query(connection, query) {
         | 
| 59 | 
            +
                return new Promise((resolve, reject) => {
         | 
| 60 | 
            +
                    connection.query(query, (error, results, fields) => {
         | 
| 61 | 
            +
                        if (error) {
         | 
| 62 | 
            +
                            reject(error);
         | 
| 63 | 
            +
                        } else {
         | 
| 64 | 
            +
                            resolve(results);
         | 
| 65 | 
            +
                        }
         | 
| 66 | 
            +
                    });
         | 
| 67 | 
            +
                })
         | 
| 68 | 
            +
            }
         | 
| 69 | 
            +
             | 
| 70 | 
            +
            (async () => {
         | 
| 71 | 
            +
                const connection = await mysql_createConnection({
         | 
| 72 | 
            +
                    host: 'localhost',
         | 
| 73 | 
            +
                    user: 'homestead',
         | 
| 74 | 
            +
                    database: 'homestead',
         | 
| 75 | 
            +
                    password: 'secret',
         | 
| 76 | 
            +
                    port: '13306'
         | 
| 77 | 
            +
                });
         | 
| 78 | 
            +
             | 
| 79 | 
            +
                const rows = await connection_query(connection, `SELECT * FROM item;`);
         | 
| 80 | 
            +
                console.log(rows);
         | 
| 81 | 
            +
                connection.end();
         | 
| 82 | 
            +
            })();
         | 
| 48 83 | 
             
            ```
         | 
1
一応promise-mysqlのサンプルも書いときました。
    
        answer	
    CHANGED
    
    | @@ -26,4 +26,23 @@ | |
| 26 26 | 
             
            isRegistered('hogehoge', (result)=>{
         | 
| 27 27 | 
             
                console.log(result);
         | 
| 28 28 | 
             
            });
         | 
| 29 | 
            +
            ```
         | 
| 30 | 
            +
             | 
| 31 | 
            +
            一応promise-mysqlのサンプルも書いときました。
         | 
| 32 | 
            +
            ```javascript
         | 
| 33 | 
            +
            const mysql = require('promise-mysql');
         | 
| 34 | 
            +
             | 
| 35 | 
            +
            (async () => {
         | 
| 36 | 
            +
                const connection = await mysql.createConnection({
         | 
| 37 | 
            +
                    host: 'localhost',
         | 
| 38 | 
            +
                    user: 'homestead',
         | 
| 39 | 
            +
                    database: 'homestead',
         | 
| 40 | 
            +
                    password: 'secret',
         | 
| 41 | 
            +
                    port: '13306'
         | 
| 42 | 
            +
                });
         | 
| 43 | 
            +
             | 
| 44 | 
            +
                const rows = await connection.query(`SELECT * FROM item;`);
         | 
| 45 | 
            +
                console.log(rows);
         | 
| 46 | 
            +
                connection.end();
         | 
| 47 | 
            +
            })();
         | 
| 29 48 | 
             
            ```
         | 
