使用setTimeout查询Meteor中的Collection

时间:2013-05-15 06:07:04

标签: meteor settimeout

我在model.js中定义了一个像这样的集合:

People = new Meteor.Collection("people");

这是main.js中的代码:

function test2(){
  console.log(JSON.stringify(People.find().fetch()));
  setTimeout(test2,5000)
}
if (Meteor.isServer) {
  if(People.find().fetch().length === 0){
    var tom = {name:"Tom",age:18};
    People.insert(tom);
  }

  Meteor.startup(function () {
    test2();
  });
}

以下是我得到的错误:

enter image description here

我希望Meteor按照设定的时间间隔自动在集合上执行一些CRUD。所以我使用setTimeOut,但似乎很难。

对我做错了什么的想法?

1 个答案:

答案 0 :(得分:5)

改为使用Meteor.setTimeout

Meteor.setTimeout(test2,5000)

在服务器上使用光纤运行meteor代码让你的同步代码写入,javascript的超时也必须让它的回调在光纤中触发,特别是如果它包含流星代码。