我在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();
});
}
以下是我得到的错误:
我希望Meteor按照设定的时间间隔自动在集合上执行一些CRUD。所以我使用setTimeOut
,但似乎很难。
对我做错了什么的想法?
答案 0 :(得分:5)
改为使用Meteor.setTimeout:
Meteor.setTimeout(test2,5000)
在服务器上使用光纤运行meteor代码让你的同步代码写入,javascript的超时也必须让它的回调在光纤中触发,特别是如果它包含流星代码。