流星繊維の「同期」モードは私を夢中にさせています。簡単なコード例を次に示します。
var feedsData = feeds.fetch(); // [{_id: "1234"}, {_id: "6789", url: "http://...."}]
for(var i = 0, len = feedsData.length; i < len; i++) {
var feed = feedsData[i];
parser.parseURL(feed.url, function(err, out){
console.log(feed._id, i); // outputs "6789" and "2" each times
});
}
これを機能させる方法がわかりません。ループが終了した後にコールバックが呼び出されますが、フィードなどの内部内部変数は保持する必要があります...そしてそれらは保持されません。
解析されたURLは適切です(最初のURL、次に2番目のURL)が、コールバックに適切な_idがないため、データを更新できません。
必要な出力は、「1234」「0」と「6789」「1」であり、どちらも「6789」「2」ではありません... Meteor /ファイバーコードでこれをどのように作成しますか?