NodeJS mysql sync query

Viewed 5185

I want to run sync query in nodejs like this...

for (var i in data){

conn.query("Select 1 from user where userid="+data[i].id,function(err,row){
     Rows.push(row);
});

}

console.log(Rows);

In this code block my rows all time going to null... I want to run sync query

4 Answers

You can make a wrapper that returns a Promise. Using await you can make it sync:

function promiseWrapper() {
    return new Promise((resolve, reject) => {
        conn.query("SQL_QUERY", queryCallback(resolve, reject);
    }
}

function queryCallback(err, row){
    return (resolve, reject) {
        resolve(row);
    }
}
Related