在一个函数,它已经内Meteor.binEnvironment,当我运行<collection>.find ({})
,我得到的错误throw new Error ('Can \' t wait without a fiber ');
如果你把该呼叫也内Meteor.bindEnvironment(<collection>.find ({}))
,错误消息变成:throw new Error (noFiberMessage);
Meteor.Collection与Meteor.bindEnvironment
有问题的功能通过Meteor.methods ({})
我哪里错了?
实施例重现该错误:
Meteor.methods({
"teste" : Meteor.bindEnvironment(function(){
var Future = Meteor.require('fibers/future');
var future = new Future();
setTimeout(function(){
return future.return(Sessions.findOne({}))
}, 15000);
console.log('fut', future.wait());
})
});
我不知道是否能解决您的实际问题,但在你的例子,没有必要使用'流星.bindEnvironment',只需使用'Meteor.setTimeout'而不是'setTimeout'('Meteor.setTimeout'将为你使用'Meteor.bindEnvironment')。 –