Node.jsを使用してAngular UniversalプロジェクトでMySQLデータベースに簡単なリクエストを行います。非同期Node.jsが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();
setTimeout(function() {
res.json(rows);
}, 0);
});
})
データは受信されますが、HTMLテンプレートには表示されません。私は参照してください:
<!--template bindings={}-->
アングルユニバーサルは、データベースからの要求からデータを受信するのを待たないようです。
誰かが問題を解決する方法を知っている場合は、アドバイスをいただければ幸いです。 ありがとうございます。
'connection.connect'のコールバックで' connection.query'を呼び出す必要があります。 – Sangharsh