sql >> Database >  >> RDS >> Mysql

SELECT werkt niet in node.js

Als .query() is een asynchrone methode, u kunt niet return de waarde als de callback wordt na aangeroepen de return wordt geëvalueerd.

U moet doorgaan met de callback patroon:

function query(sql, callback) {
    client.connect();
    client.query(sql, function (err, rows, fields) {
        if (err) {
            callback(err);
        else
            callback(null, rows, fields);
    });

    client.end();
}

Correctie:lijkt client.end() zorgt ervoor dat huidige zoekopdrachten kunnen worden voltooid voordat de verbinding daadwerkelijk wordt verbroken.

Hoewel, .end() . aanroepen binnen de callback is gebruikelijk voor veel API's, omdat ze alle lopende acties afbreken.




  1. Bestandsopslag voor webtoepassingen:bestandssysteem versus DB versus NoSQL-engines

  2. Hoe kan ik een zoekopdracht detecteren die de vergrendeling in Postgres bevat?

  3. MySQL:haal MAX of GROOTSTE van verschillende kolommen, maar met NULL-velden

  4. MYSQL-syntaxis evalueert niet niet gelijk aan in aanwezigheid van NULL