Meteor.autorun vs Tracker.autorun?

时间:2015-10-24 15:08:25

标签: meteor meteor-tracker

Meteor.autorunTracker.autorun之间的区别是什么?

  • 他们只是别名吗?
  • 是一个弃用的?
  • 是否存在一个优于另一个的实例?

我非常清楚在模板生命周期回调中使用this.autorun的不同之处,但我们已经看到这两个问题可以互换使用,只是想确定我没有错过任何技巧。

2 个答案:

答案 0 :(得分:14)

嗯,可以通过identity operator轻松找到它。

这将是false,因为它不是同一个函数:

(function() {} === function() {})

让我们试试两个autorun

(Meteor.autorun === Tracker.autorun)

返回true。所以是的,它只是一个纯粹的别名 但是,只有Tracker.autorun is documented。我怀疑某些旧的API是为了兼容性...
我们来查看一些Meteor code on GitHub

  

档案:deprecated.js

     
Meteor.autorun = Tracker.autorun;

这是deprecated.js,它说明了//Deprecated functions的一些内容以及与Meteor 0.5.4 的一些向后兼容性。你应该使用哪一个似乎很清楚 您可以在其中找到其他一些旧计时器,例如Deps ...

答案 1 :(得分:0)

尝试在控制台中运行Meteor.autorun();,就像您尝试运行Uncaught Error: Tracker.autorun requires a function argument一样,它会引发以下错误Tracker.autorun();