Javascript 关于Node.js中的异步执行流

Javascript 关于Node.js中的异步执行流,javascript,mysql,node.js,express,Javascript,Mysql,Node.js,Express,很好,我想问一下,显示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; }el

很好,我想问一下,显示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中的同步执行,最好使用回调函数,就像您在第二个示例中所做的那样