sql >> データベース >  >> NoSQL >> MongoDB

警告エラー:サーバーでメソッドを呼び出す場合、Meteorコードは常にファイバー内で実行する必要があります

    コールバックはMeteor.bindEnvironmentでラップする必要があると思います ファイバーを直接使用するのではなく、ここを参照してください https://gist.github.com/possibilities/3443021

    私はこれを非常に広範囲に使用していますが、離れて再入室するのではなく、ファイバー内にとどまるため、うまく機能します

    通常のコールバックスタイル

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

    バインド環境ラップコールバック

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

    このように非同期コールバックを一貫してラップする場合、meteorは常にアクセス可能です

    このビットについてはこちら

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

    これをファイバーラップする必要はありません。すでにMeteor.startupにいます。 コンテキストなので、これは冗長です-Meteor.call(...);だけです トリックを行います




    1. AmazonEC2でのMongodbへのアクセスに関する問題

    2. マングース-スコアまたは重みに基づいて3つのフィールドでテキストを検索します

    3. 巨大なイベントストリームのギャップを見つけますか?

    4. マングースの約束のドキュメントには、クエリは約束ではないと書かれていますか?