【发布时间】:2017-03-08 15:45:19
【问题描述】:
我在 Angular Universal 项目中使用 Node.js 对 MySQL 数据库做了一个简单的请求。
router.route('/newvideos')
.get(function(req, res) {
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'root',
database : 'myDB',
port: '8889'
});
connection.connect(function(err) {
if (err) {
console.log("Error connecting to DB: " + err);
throw err;
}
});
connection.query("SELECT * FROM table", function(err, rows, fields) {
if (err) {
console.log("Error executing query: " + err);
throw err;
}
connection.end();
setTimeout(function() {
res.json(rows);
}, 0);
});
})
我收到了数据,但是它没有出现在 HTML 模板中。我只看到:
<!--template bindings={}-->
似乎 Angular Universal 并没有等待从请求中接收数据到数据库。
如果有人知道如何解决此问题,我将不胜感激。 谢谢。
【问题讨论】:
-
我认为应该在
connection.connect的回调中调用connection.query。
标签: mysql node.js asynchronous angular-universal