sql >> Databáze >  >> NoSQL >> MongoDB

VAROVÁNÍ Chyba:Kód meteoru musí vždy běžet v rámci metody Fiber při volání na serveru

Myslím, že byste měli svá zpětná volání zabalit do Meteor.bindEnvironment místo použití vláken přímo – viz zde https://gist.github.com/possibilities/3443021

Používám to poměrně hojně a funguje to dobře, protože zůstáváte ve vlákně, místo abyste odcházeli a museli znovu vstupovat

normální styl zpětného volání

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

zpětné volání zabalené prostředí bind

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

pokud takto důsledně zabalíte asynchronní zpětná volání, meteor je vždy přístupný

pro tento kousek zde

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

nemusíte to zabalovat, už jste v Meteor.startup kontextu, takže je to nadbytečné - stačí Meteor.call(...); udělá trik




  1. Jak vygenerovat jedinečné ID objektu v mongodb

  2. Jak vyhledávat ve fulltextovém indexu pomocí php v mongodb

  3. MongoError:Parametr filtru musí být objekt

  4. Co je to MapReduce Key Value Pair v Hadoop?