流星纤维“同步”模式让我发疯。这是一个简单的代码示例:
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
});
}
我不明白如何使这项工作。循环结束后调用回调,但应保留内部内部变量(例如 feed)……而它们不是。
解析的 url 很好(第一个,然后是第二个),但是我无法更新我的数据,因为我在回调中没有好的 _id。
想要的输出将是:“1234”“0”和“6789”“1”,而不是“6789”“2”两次......你如何在 Meteor / Fiber 代码中做到这一点?