[英]about asynchronous execution flow in Node.js
很好,我来问问显示Mysql数据的最佳方法是什么
¿认为此流程正确吗?
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});
}
}
});
});
正确的方法是什么? 非常感谢你
第二种方法是正确的。
第一种方法可能会起作用,但可能不会,而且您也无法保证。 如果要确保在JavaScript中执行Syncronous,总是最好使用回调函数,就像在第二个示例中所做的那样。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.