Mysql
 sql >> Baza danych >  >> RDS >> Mysql

NodeJS i mysql:czekaj na wynik zapytania

W swojej funkcji executeQuery użyłeś wywołań zwrotnych do oczekiwania na wyniki. W ten sam sposób implementując je w funkcji getResult możesz sprawić, by po wykonaniu zapytania oczekiwała na wyniki. Coś takiego.

var mysql = require('mysql');
var pool = mysql.createPool({
    connectionLimit : 100,
    host     : 'host',
    user     : 'user',
    password : 'password',
    database : 'database',
    debug    : false 
 });

function executeQuery(query, callback) {
  pool.getConnection(function (err, connection) {
    if (err) {
        return callback(err, null);
    }
    else if (connection) {
        connection.query(query, function (err, rows, fields) {
            connection.release();
            if (err) {
                return callback(err, null);
            }
            return callback(null, rows);
        })
    }
    else {
        return callback(true, "No Connection");
    }
  });
}


function getResult(query,callback) {
  executeQuery(query, function (err, rows) {
     if (!err) {
        callback(null,rows);
     }
     else {
        callback(true,err);
     }
  });
}

function getServers() {
  getResult("select * from table",function(err,rows){
    if(!err){
        return rows;
    }else{
        console.log(err);
    }
  });   
}

exports.getList = getList;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. prawe sprzężenie kontra lewe sprzężenie

  2. mysql wybierz z n ostatnich wierszy

  3. mysql rozróżnia wielkość liter w utf8_general_ci

  4. Czy powinienem używać pola typu blob MySQL?

  5. Kod błędu:1222. Użyte instrukcje SELECT mają inną liczbę kolumn