我认为这是异步的问题,但我不知道解决方案。
PagesController.buy = function() {
var table="";
Selling.find({}, function(err, res) {
for (var i in res) {
console.log(res[i].addr);
table = table + "res[i].addr";
}
});
this.table = table;
console.log(table);
this.render();
}
我的问题是,this.table=table
如果我尝试在函数外部访问它,则返回undefined,并且我不知道如何在页面上显示表格。
问题是Selling.find是异步的,可能在执行this.table = table时尚未完成。尝试类似以下的方法。
PagesController.buy = function() {
var that = this;
Selling.find({}, function(err, res) {
var table = '';
for (var i in res) {
console.log(res[i].addr);
table = table + res[i].addr;
}
that.table = table;
console.log(table);
that.render();
});
}
这将确保在获取结果并填充表之后才使用表。
问题内容: 这(我的代码的简化版本)不起作用: 为什么?我要访问,因为如果失败,我想在上面记录错误。 递归地调用自身以创建目录列表,因此我担心将整体传递给自身(如中所述)可能会损害性能。 有没有一种方法可以在不传递参数的情况下访问内部?(PHP 5.2.x +) 编辑: 如果代码看起来像这样呢? 问题答案: 您必须将其传递给函数: 或将其声明为global: 如果变量不是全局变量,而是在外部函数中
问题内容: 我有以下课程片段: 我无法获得设置的超时值以从事件中打印值,我应该做些什么,但我不是吗? 问题答案: SyntheticEvent 。 根据 DOC : SyntheticEvent已合并。这意味着在调用事件回调之后,将重新使用SyntheticEvent对象,并且所有属性都将无效。这是出于性能原因。 例: 如何访问回调中的值? 将值存储在变量中: 如果要在超时回调函数中访问该值,则将
我正在构建一个消息传递应用程序。我使用setTimeout每隔5秒从后端检索一次消息日志,并将其存储在一个状态变量中。我让它也滚动到聊天窗口的底部每次超时,但我试图使它只发生在有一个新的消息在响应对象。问题是我无法访问检索它的函数中的状态变量。理想情况下,我会将响应对象的长度与状态变量的当前长度进行比较,以确定是否存在新的响应。 这是我的代码: 在处理逻辑方面,我也愿意接受更好的建议。提前道谢!
问题内容: 嗨,我正在浏览有关内部类的SCJP书,发现了这一说法,类似这样。 方法本地类只能引用已标记的本地变量 在解释中,指定的原因与本地类对象和堆上的局部变量的范围和生存期有关,但我无法理解。我在这里想念任何东西吗? 问题答案: 原因是,在创建方法本地类实例时,编译器实际上会将其引用的所有方法本地变量复制到其中。这就是为什么只能访问变量的原因。甲变量或参考是不变的,所以它停留在同步与其方法本地
问题内容: 在内部类中,可以访问外部类的变量,但不能访问方法的局部变量。我了解了无法访问方法的局部变量的部分,但我想知道为什么外部类变量可以访问? 我的理解是,由于内部类与外部类绑定,因此只要父级可用,子级就可以访问其父级变量。我对么? 问题答案: 假设您的外部类在内部类的范围内(非静态)被称为,以获取该字段。 例如, 其中Outer是类的名称,并标识该字段。 您也可以直接抓取它,但是如果由于阴影
在内部类中,外部类的变量是可访问的,但方法的局部变量不是。我理解了关于方法的局部变量不可访问的部分,但我想知道为什么外部类变量是可访问的? 我的理解是,由于内部类与外部类绑定,因此只要父类可用,子类就可以访问其父变量。我说得对吗?