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

Použití node-mysql ve funkci

Toto je běžná chyba mezi začátečníky async/nodejs. V podstatě jste zabalili asynchronní funkci do synchronizační funkce, která narušuje povahu smyčky událostí uzlu. Návratový výraz je třeba nahradit zpětným voláním. Viz níže:

// 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);
});

Podle konvence v Nodejs vždy předáváme chybový objekt jako první ve zpětném volání. V tomto případě, protože nedochází k žádné chybě k zachycení, předáme na její místo null.




  1. Ukládání souborů v databázi versus souborový systém

  2. Jak kopírovat data z jedné tabulky do druhé v SQL

  3. Volání uložené procedury s návratovou hodnotou

  4. Uložte vestavěnou databázi mysql do textového souboru SQL