为什么我不能直接将someDep.changed传递给setInterval?

时间:2016-04-25 15:47:08

标签: javascript asynchronous meteor this meteor-tracker

鉴于以下代码,为什么helper1没有重新运行,何时helper2呢?我觉得这与.changed()被调用的上下文有关。

Template.example.onCreated() {
  var dep1 = new Tracker.Dependency(),
    dep2 = new Tracker.Dependency();

  Meteor.setInterval(dep1.changed, 1000); // doesn't work
  Meteor.setInterval( () => dep2.changed(), 1000 ); // works
});


Template.example.helpers({
  helper1: () => {
    Template.instance().dep1.depend();
    return new Date().getTime(); // never updates
  },
  helper2: () => {
    Template.instance().dep2.depend();
    return new Date().getTime(); // updates
  }
});

0 个答案:

没有答案