sql >> Base de Datos >  >> NoSQL >> MongoDB

ADVERTENCIA Error:el código Meteor siempre debe ejecutarse dentro de Fiber cuando se llama al método en el servidor

Creo que deberías envolver tus devoluciones de llamada con Meteor.bindEnvironment en lugar de usar fibras directamente:consulte aquí https://gist.github.com/possibilities/3443021

Lo uso bastante y funciona bien porque te quedas dentro de la fibra en lugar de salir y tener que volver a entrar

estilo de devolución de llamada normal

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

devolución de llamada envuelta en el entorno de vinculación

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

si envuelve constantemente devoluciones de llamada asíncronas como esta, Meteor siempre es accesible

por este bit aquí

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

no necesita envolver esto con fibra, ya está en Meteor.startup contexto, por lo que esto es redundante:solo Meteor.call(...); hará el truco