0

私の使用例は、RSS フィード項目を非同期的に読み取り、それらを流星コレクションにロードすることです。

解析を行う feedparser npm モジュールがあります。3 つのイベント .on('error')、.on('meta')、および .on('readable) を 3 つの異なる出力で発行します。

出力を実行するための console.log ステートメントだけを使用して、fixtures.js で実行すると、正常に動作します。同じコードを使用してコレクションに挿入すると、関数の非同期性に関連するエラーが発生します (ファイバーと関係があると仮定します)。

そこで、以下のように先物を使って流星法にしたいと思います - http://www.discovermeteor.com/patterns/5828399

試してみましたが、Futures で複数のイベントを処理することに頭を悩ませることができませんでした。

4

2 に答える 2

1

ある時点で何かを db にプッシュしたいだけなら、この呼び出しを同期するだけで十分です。それ以外は、非同期で何でもできます。例えば:

var Fiber = Npm.require('fibers');
var item = {};

var onInit = function() {
    // do whatever with item
};

var onData = function() {
    // do whatever with item
};

var onFinish = function() {
    new Fiber(function(){
        Documents.insert(item);
    }).run();
};
于 2013-08-29T20:23:49.260 に答える