sql >> Database >  >> RDS >> Mysql

Node-mysql gebruiken in een functie

Dit is een veelgemaakte fout bij async/nodejs-beginners. U hebt in wezen een asynchrone functie in een synchronisatiefunctie gewikkeld die de aard van de gebeurtenislus van het knooppunt doorbreekt. De return-expressie moet worden vervangen door een callback. Zie hieronder:

// Method
function getUserInfo (userID, dynamicField, callback) {
    var query = connection.query('SELECT '+dynamicField+' from users WHERE userID = '+connection.escape(userID));
    query.on('result', function(row) {
        callback(null, row.dynamicField);
    });
};

// Implementation
getUserInfo(8, userEmail, function(err, result){
    console.log(err || result);
});

Volgens afspraak geven we in Nodejs altijd eerst een foutobject door in de callback. In dit geval, aangezien er geen fout is om vast te leggen, geven we in plaats daarvan null door.




  1. Hoe een Excel-bestand te importeren in MySQL Workbench?

  2. Hoe rapporten maken met een specifiek datumbereik in mysql

  3. MySQL:Hoe kan ik de tijdstempel van de laatste invoeging in de database krijgen?

  4. MySQL Workbench Error 1175 Zelfs met een Where-statement