这是node.js中的一个典型路由,它有一个伪代码连接到数据库,使用查询获取一些数据,然后将它们传递给要呈现的页面,
router.get('/', function(req, res){
db-connect(function(err, db) {
if (err) {
return console.log('error');
}
db.query('select * from table', function(err, results){
if (err) {
return console.log('error');
}
res.render('index',{
'title':'my title',
'pageHeader': 'my header',
'results': results //dynamic ???
});
});
}); //connect
});//router get我使用这个伪代码来问一个一般性的问题:
results数据是动态的,可能查询需要一段时间,所以results不能快速到达页面,所以我想呈现也需要一段时间。
如何在静态数据(title和pageHeader)和动态部分(results)准备就绪后立即呈现?
我必须使用其他函数还是其他语法?
谢谢
发布于 2018-05-13 22:25:52
res.render填充模板并将其发送给客户端(浏览器)。当它在稍后阶段准备就绪时,您不能发送“稍微多一点”。
要么让客户端等待数据,要么首先发送标题和标题,然后在浏览器上使用XHR (javascript)获取其余部分。
https://stackoverflow.com/questions/50321013
复制相似问题