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

Używanie node-mysql w funkcji

Jest to powszechny błąd wśród początkujących użytkowników asynchronicznych/nodejs. Zasadniczo otoczyłeś funkcję asynchroniczną wewnątrz funkcji synchronizacji, która rozbija naturę pętli zdarzeń węzła. Wyrażenie zwrotne należy zastąpić wywołaniem zwrotnym. Zobacz poniżej:

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

Zgodnie z konwencją, w Nodejs zawsze najpierw przekazujemy obiekt błędu w wywołaniu zwrotnym. W tym przypadku, ponieważ nie ma błędu do przechwycenia, przekazujemy w jego miejsce wartość null.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. findAll() z Sequelize nie otrzymuje

  2. Oszczędzasz HABTM z dodatkowymi polami?

  3. MySQL ERROR 1005:Nie można utworzyć tabeli (errno:150)

  4. Czy sortowanie InnoDB naprawdę jest TAK wolne?

  5. Jak dodać więcej niż jeden wiersz za pomocą Zend_Db?