2

既にMeteor.binEnvironment内にある関数内で を実行する<collection>.find ({})と、次のエラー メッセージが表示されます。throw new Error ('Can \' t wait without a fiber ');Meteor.bindEnvironment(<collection>.find ({}))throw new Error (noFiberMessage);

問題の関数は、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());
  })
});
4

2 に答える 2

1

私のプロジェクトで提案された解決策を適用できませんでした。現在、次のように行っています。

Meteor.methods({
  "teste" : Meteor.bindEnvironment(function(){
    var Fiber = Meteor.require('fibers');
    var Future = Meteor.require('fibers/future');
    var future = new Future();
    setTimeout(function(){
      return future.return(
        Fiber(function(){
          Sessions.findOne({});
        }).run()
      );
    }, 15000);
    console.log('fut', future.wait());
  })
});
于 2014-03-10T02:52:27.837 に答える