繁体   English   中英

访问匿名函数之外的变量

[英]Accessing a variable that is outside an anonymous function

我有这个简单的代码

 orm: function (req, res) {

    // Send a JSON response


       Noder.query('SELECT * FROM crud ', function(err, results) {
        var all_rows = Noder.query('SELECT count(*) from crud ', function(err, the_rows) {
        return the_rows;
        });

         res.view('noder/orm', {
            layout: 'layout',
            allr:all_rows,
            post:results,
            title: 'This is the hi page title. '
        }); 
      });
   },

我用它来获取mysql表中的所有行。 但是在该函数中,我想要另一个函数来计算表中有多少行。我的变量var all_rows在我尝试显示时显示未定义。 我该怎么解决这个问题?

这是因为您在返回内部查询之前访问all_rows的值。

Noder.query是一个异步函数,因此,它的执行将被延迟,直到查询本身完成。 同时,当您的内部查询仍在处理时,您的orm函数将继续快速向下并调用res.view

要解决此问题,您可以从内部查询中调用res.view

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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