模板的请求......如何防止Meteor.user()的计时漏洞?
if (this.userRequesting._id === Meteor.user()._id) { ... }
...检查一个人的身份。 (我怀疑这不是处理这个问题的最佳方法,但我会将其另存为另一个问题以免重复此问题)。
我的问题是,这会导致一个巨大的错误级联提示Meteor.user()
未定义,只在页面加载...一旦加载页面时,该代码执行没有问题。显然,有一个定时漏洞(或者我相信),其中Meteor.user()
在页面加载时保持未分配状态。与更换上面的代码...
____________
if (Meteor.user() && this.userRequesting._id == Meteor.user()._id) { ... }
...可以解决问题,但是......对来...这不可能是犹太教。我错误地对模板和流星做了什么假设?
如果相关,我使用accounts-password
作为我的作弊帐户经理。
[编辑]:这看起来像same problem,但我要离开这个问题问个明白我正在寻找一个解决方法,而不是解决办法的前提。 (我已经知道检查Meteor.user()
解决这个问题。)
你做了什么是修复不是一个解决方法。您必须了解被动上下文和订阅加载。 – gabrielhpugliese
这就是你如何做到的。 'Meteor.user()'可以为空,所以你需要先检查它。直到elvis运算符'?。找到通向Javascript的途径之前,这样的构造就不存在了。 –