繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM