在我多次使用用户ID的函数中,有什么好的做法:
Meteor.userId()
或出版物this.userId
)另一种提问方式是"我的语言环境变量是对Meteor.userId()
的简单引用(每次调用它)还是副本?
我同意它可能看起来像微优化,但我更多地要求学习和理解Javascript如何工作(在流星环境中)。
附属问题:这是一个与关闭有关的问题吗?我仍然想弄明白。
答案 0 :(得分:1)
Meteor.userId()
只返回一个普通的旧Javascript字符串。您可以在第一次调用变量后将其保存在变量中,并使用它而不会产生任何后果。
这与封闭本身无关,但它与Meteor的反应性有关。只要您在被动上下文中调用函数中的Meteor.userId()
至少一次,Meteor就会在更改时重新运行该函数。
答案 1 :(得分:-1)
您可以使用
声明会话var yoursession = Meteor.userId();
Session.set('yoursession')
然后您可以在每个客户端页面中调用会话。要调用会话,只需执行此操作Session.get('yoursession')
注意:您只能在客户端设置会话,而不能在服务器端设置。