如何检查导致 Tracker.autorun 流星起火的原因?

How to check what caused Tracker.autorun fire in Meteor?

在加载我的 Meteor 应用程序期间,我的 Tracker.autorun 函数触发了太多次。我想检查导致该问题的原因,但我什至无法在函数内部检查是什么事件导致了它的实际火灾。我该怎么做?

编辑:

如果我在 autorun 中执行 console.trace(),我会得到:

(anonymous) @ VM6091:1
(anonymous) @ createStore.js:21
Tracker.Computation._compute @ tracker.js:311
Tracker.Computation @ tracker.js:201
Tracker.autorun @ tracker.js:576
module.export.exports.default @ createStore.js:15
(anonymous) @ main.js:36
maybeReady @ startup_client.js:26
loadingCompleted @ startup_client.js:38

但我仍然无法确定 loadingCompleted 函数触发的原因。

During loading my Meteor app my Tracker.autorun function fires too many times.

这意味着您多次更改自动运行函数中使用的反应源。

1) 您可以使用浏览器断点捕获更改。只需在您的自动运行函数中创建断点,然后查看调用堆栈。

2) 您可以记录所有更改反应源的函数(Collection、ReactiveVar 等...)