IT

"SELECT FROM" 쿼리를 Node.js의 Mariadb에 보냅니다.

itgroup 2023. 10. 25. 23:15
반응형

"SELECT FROM" 쿼리를 Node.js의 Mariadb에 보냅니다.

저는 지금 이 일을 하려고 합니다."select from"mariadb에 문의하고 여기 제 코드가 있습니다.

var mariadb = require('mariadb');

router.get('/redirect', auth.required, (req, res, next) => {
    const { payload: { id } } = req;

    console.log("in redirection function, id " + id);



const pool = mariadb.createPool({
        host: 'localhost',
        port: 3307,
        user: 'root',
        password: 'abc',
        database: 'db',
    });
    pool.getConnection()
        .then(conn => {

            var query = 'select id from user_credentials where id="'+id+'"';
            console.log("query is " + query + "   : end");
            conn.query(query, function (err, rows) {

                if (err) {
                    console.log("Error");
                    throw err;
                } else {

                }

                return res.json({'resule':rows});

            });


        }).catch(err => {
            console.log("error 2" + err);
            conn.close();
        });



    console.log("nothing happened")
    return res.json({'resule':'test'});

});

하지만 이 진술이 나올 때까지만 진행됩니다.

 console.log("query is " + query + "   : end");

이후 "아무 일도 없었다"는 문장으로 건너가 응답을 반환합니다.일종의 비동기 실행이며 스레드가 완료되기를 기다리고 있지 않습니다.여러 가지 방법을 시도해 보았지만 효과가 없습니다.

선을return res.json({'resule':rows});포함된 함수가 아닌 현재 콜백에서 반환되고 있습니다.무슨 일이 일어나고 있는지 확인하기 위해 다음을 시도합니다.

console.log(res.json({'resule':rows}));

결과는 콘솔에 인쇄해야 합니다.그러면 문제는 어떻게 결과를 도출할 것인가 하는 것입니다.콜백 및 약속과 같은 비동기식 자바스크립트에 대해 알아가는 시간을 가지십시오.

언급URL : https://stackoverflow.com/questions/52847727/select-from-query-to-mariadb-in-node-js

반응형