¿认为这个流程是正确的吗?
app.get('/demo/:id', function(req, res) {
var query = csql.query('SELECT * FROM table_videos WHERE id=? LIMIT 1',req.params.id,
function(error, result){
if(error){
datos_video = error;
}else{
if (result.length) {
datos_video = result[0];
}else{
datos_video = '0';
}
}
});
res.render('vid',{datos_video:datos_video});
});
渲染是在咨询之后或之前执行的?
也许做某事更好
app.get('/demo/:id', function(req, res) {
var query = csql.query('SELECT * FROM table_videos WHERE id=? LIMIT 1',req.params.id,
function(error, result){
if(error){
datos_video = error;
res.render('vid',{datos_video:datos_video});
}else{
if (result.length) {
datos_video = result[0];
res.render('vid',{datos_video:datos_video});
}else{
datos_video = '0';
res.render('vid',{datos_video:datos_video});
}
}
});
});
正确的方法是什么?非常感谢你
答案 0 :(得分:0)
第二种方式是正确的。
第一种方式可能有效,但它可能不会赢,而且你无法接受它。如果你想确保在JavaScript中同步执行,最好使用回调函数,就像你在第二个例子中所做的那样。