【发布时间】:2017-03-10 06:19:28
【问题描述】:
我在autorun 中有一个Meteor.defer。
this.autorun(() => {
Meteor.defer(() => {
functionThatUsesASessionVariable();
});
});
当 Session 变量改变时,这个自动运行不会重新执行。
删除defer,它确实会在 Session 变量更改时重新执行。
this.autorun(() => {
functionThatUsesASessionVariable();
});
但我确实想要延迟行为和反应性。有没有办法两者兼得?
====
(现在我最好的做法是在autorun 的开头放一个Session.get('sessionVar'),没有分配任何东西,只是为了触发反应。)
this.autorun(() => {
Session.get('sessionVar');
Meteor.defer(() => {
functionThatUsesASessionVariable();
});
});
(但这显然不是很好,因为如果反应直接来自函数的依赖关系会更好,它会随着时间而改变)
【问题讨论】:
标签: javascript asynchronous meteor