MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

WARNUNG Fehler:Meteor-Code muss immer innerhalb einer Faser ausgeführt werden, wenn die Aufrufmethode auf dem Server ausgeführt wird

Ich denke, Sie sollten Ihre Rückrufe mit Meteor.bindEnvironment umschließen anstatt Fasern direkt zu verwenden - siehe hier https://gist.github.com/possibilities/3443021

Ich verwende dies ziemlich häufig und es funktioniert gut, weil Sie innerhalb der Faser bleiben, anstatt sie zu verlassen und erneut eintreten zu müssen

normaler Rückrufstil

someMethod({OPTIONS}, function(callbackReturnArgs){
    //this is the normal callback
));

Binden Sie Umgebung eingeschlossenen Callback

someMethod({OPTIONS}, Meteor.bindEnvironment(
  function(callbackReturnArgs){
    //this is the normal callback
  },
  function(e){
    console.log('bind failure');
  }
));

Wenn Sie asynchrone Rückrufe konsequent so umschließen, ist Meteor immer verfügbar

für dieses Bit hier

Fiber(function(){
  Meteor.call('streamTwit', twit);
}).run();

Sie müssen dies nicht umwickeln, Sie befinden sich bereits in der Meteor.startup Kontext, also ist dies überflüssig - nur der Meteor.call(...); wird es tun