gpt4 book ai didi

javascript - 变量在方法之外不起作用

转载 作者:行者123 更新时间:2023-11-30 08:42:11 25 4
gpt4 key购买 nike

我正在尝试使用 Parse.com 上的 Node/Express.js 访问一些数据库结果,因为接下来我有一些额外的数据要循环。基本上我需要导航表循环,然后在该循​​环内我将循环另一个表。这是正确的方法吗?我无法在以下方法之外访问变量 navigation:

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 });

想法?我基本上是在构建一个移动单页应用程序。我真的不需要路线。但我想遍历并构建导航。并且还循环并构建其他 DIV,这些 DIV 将根据用户从导航中选择的内容显示/隐藏。希望这是有道理的。

最佳答案

如当前所写,navigation 在异步函数的回调期间被分配一个值......在它被传递给渲染器之后。在调用 render 时,navigation 已声明,但尚未赋予值。

任何时候你分配一个值作为异步回调的一部分,你希望使用该值的每个操作都必须是回调的一部分或发生在它之后(例如,在后续的链接 .then())

在这种情况下,您可以将 render 调用移到回调中,这就足够了。

关于javascript - 变量在方法之外不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25374015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com