gpt4 book ai didi

mysql - Angular Universal 中的异步 Node.js 请求。服务器渲染停止工作

转载 作者:行者123 更新时间:2023-11-29 19:17:21 25 4
gpt4 key购买 nike

我使用 Node.js 在 Angular Universal 项目中向 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 不会等待从数据库请求中接收数据。

如果有人知道如何解决该问题,我将不胜感激。谢谢。

最佳答案

正确的做法

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();

return res.json(rows);
});
});
});

关于mysql - Angular Universal 中的异步 Node.js 请求。服务器渲染停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42627744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com