sql >> Databáze >  >> RDS >> Mysql

NodeJS a mysql:počkejte na výsledek dotazu

Ve své funkci executeQuery jste použili zpětná volání k čekání na výsledky. Stejným způsobem jejich implementací ve funkci getResult můžete nechat čekat na výsledky po provedení dotazu. Něco takového.

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. Vytvoření aplikace Java v Oracle JDeveloper, část 1

  2. Zálohy databáze – porovnání MariaDB Mariabackup a Percona Xtrabackup

  3. Chyba při připojování k postgresql pomocí sqlalchemy

  4. Existuje v JPQL takový výraz CASE?