0
レンダリングされたルートでの非同期データを返す:NodeJSエクスプレスルートのように、私はレンダリングにいくつかの非同期関数を渡すことで、私のレンダリングされたページよりスマートのいくつかを作るしようとしている
var functions = {
paginatedCategory: function(category) {
db.query(`SELECT * FROM content WHERE FIND_IN_SET(Category, "${category}") ORDER BY position`, function(error, results) {
console.log(results, 'results');
return results;
})
}
}
をその後、私は「ルートでmがこれを行う:
res.render('category', functions);
そして
がcategory.pug
ページで、私はその関数を呼んでいる内部のように:
ul
each val in paginatedCategory('Products')
li=val
コンソールでは、そのカテゴリのすべての正しい項目が出力されますが、レンダリングは何も表示されません.MySQLデータベースのクエリは非同期であるため、すべての項目を取得する前にページをレンダリングするので、このような状況?
また、ファイルからファイルに変更されるため、.pug
ファイルから直接パラメータを渡すことができます。