variables不在外面的方法
我想在Parse.com上用Node / Express.js访问一些数据库结果,因为我有一些额外的数据要循环下一个。 基本上我需要导航表循环,然后在该循环内我将循环另一个表。 这是正确的方式吗? 我不能访问以下方法之外的variablesnavigation
:
var Navigation = Parse.Object.extend('Navigation'); var navigation; var query = new Parse.Query(Navigation); query.ascending('SortOrder'); query.find().then(function(results) { navigation = results }, function() { res.send(500, 'Failed loading navigation'); }); res.render('index', { nav: navigation });
思考? 我基本上是build立一个移动单页面的应用程序。 我并不需要路线。 但我想循环通过并build立导航。 并且循环并build立其他DIV,根据用户在导航中select的内容来显示/隐藏DIV。 希望是有道理的。
正如目前所写, navigation
正在从一个asynchronous函数callback期间被分配一个值…之后它被传递给渲染器。 在render
被调用的时候, navigation
已经被声明,但还没有被赋予一个值。
任何时候你把一个值作为asynchronouscallback的一部分,你希望使用这个值的每一个操作都必须是callback的一部分,或者在它后面发生(例如,在后续的链接.then()
)
在这种情况下,您可以将您的render
调用移动到callback中,这应该足够了。
问题是res.render
在query.find
的callback之前被调用。 尝试移动res.render('index', { nav: navigation });
里面的query.find().then(function(results) { navigation = results }
- 将对象拆分成更小的部分
- 如何从mongodb查询传递几个variables到玉tpl
- Phonegap在服务器端使用expressjs和passportjs进行身份validation
- unit testing用passport.js和express.jslogin
- 阅读Node.JS中的AJAX postvariables(使用Express)
- Node.js res.send VS res.end VS返回res.end
- Node.js在HTTP 80端口上侦听EACCES错误(权限被拒绝)
- openshift nodeJS应用程序 – git最新/服务器运行没有错误,但我仍然看到欢迎页面
- Node.js(使用express&bodyParser):无法从post请求中获取表单数据