2015-06-29 123 views
2

我想我正在執行一個函數,它使用節點js從mysql數據庫中的表中獲取所有行,但我遇到了一些異步問題。我正在使用node-mysql模塊。MySQL節點JS異步問題

我已經使用了這個,並試圖做this question接受的答案說,但仍然沒有運氣。它告訴我undefined is not a functionthrow err。任何人都知道這裏的問題是什麼?

var express = require('express'); 
var mysql = require('mysql'); 
var router = express.Router(); 

router.get('/people', function(req, res, next) { 
    getAllPeople(function(err, people) { 
     res.json(people); 
    }); 
}); 

function getAllPeople(cb) { 
    var connection = mysql.createConnection({ 
     host  : 'localhost', 
     user  : 'root', 
     password : 'root', 
     database : 'people' 
    }); 
    connection.connect(); 
    connection.query('SELECT * from people', function(err, rows, fields) { 
     connection.close(); 
     cb(err, rows); 
    }); 
} 
module.exports = router; 

回答

1

在連接對象中沒有定義close()方法。使用connection.end()