0

在使用流星进行实验时,我遇到了一种我没想到的 fetch 行为。假设我有一个功能:

findStuff = function(){
  var cursor = Stuff.find({});
  console.log(stuff.fetch()); // just to check
  return cursor;
}

我从模板中调用它

Template.stuff.helpers({
  stuff : function(){
    var stuff = findStuff();
    console.log(stuff.fetch());  // just to check
    return stuff; 
  }
});

第一个日志将正确显示数组,但第二个日志将显示一个空数组。我很困惑为什么会这样。我的解决方案是避免调用 fetch 如果我不明确需要它,但我喜欢将它用作调试工具。

4

1 回答 1

3

你应该阅读cursor.rewind()

forEach、map 或 fetch 方法只能在游标上调用一次。要多次访问游标中的数据,请使用 rewind 重置游标。

于 2013-10-17T06:57:00.677 回答