Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
访问collection.property时Meteor Autorun()未运行_Meteor - Fatal编程技术网

访问collection.property时Meteor Autorun()未运行

访问collection.property时Meteor Autorun()未运行,meteor,Meteor,有些奇怪的事情正在发生;当我运行以下代码时,它可以工作: Deps.autorun(function() { var room = Rooms.findOne({'room_id':Session.get('room_id')}); // var p = room.room_id; console.log('autorun'); } 但是,如果我取消注释var p行,它(整个块)将停止运行。发生了什么?在Meteor.js文档的深处发现了这一点:“如果自动运行的初始运行引发异常,计

有些奇怪的事情正在发生;当我运行以下代码时,它可以工作:

Deps.autorun(function() {
  var room = Rooms.findOne({'room_id':Session.get('room_id')});
  // var p = room.room_id;
  console.log('autorun');
}

但是,如果我取消注释
var p
行,它(整个块)将停止运行。发生了什么?

在Meteor.js文档的深处发现了这一点:“如果自动运行的初始运行引发异常,计算将自动停止,并且不会重新运行。”

在第一次运行自动运行时,即加载页面时,数据库尚未加载,这会在您尝试访问
room.room\u id
时引发异常,自动运行立即停止再次运行。修正加入:

if (room) {
  console.log(room.room_id);
  ...
}

你说停止跑步是什么意思?。它是否会抛出任何错误或整个代码块停止运行?整个代码块不会得到评估-由于某种原因它不会自动运行。能否在函数开头添加一个
console.log
?可能在某个地方抛出了一些错误。我尝试在块的顶部放置另一个日志语句,但也没有运行。搞定了!在我的自动运行中,我已经在检查document.body、userId、firstRun,现在,感谢您的回答,最后是与我的集合查询@kenysong关联的var