代码之家  ›  专栏  ›  技术社区  ›  Billybobbonnet

我应该使用Meteor吗。userId(),还是应该将其存储在区域设置变量中?

  •  3
  • Billybobbonnet  · 技术社区  · 11 年前

    在我使用多次用户id的函数中,好的做法是什么:

    1. 在函数中声明一个区域设置变量,以存储用户ID以满足未来的需要
    2. 每次使用相关功能( Meteor.userId() 或在出版物中 this.userId )

    另一种询问方式是“我的语言环境变量是对 Meteor.userId() (每次都叫它)还是复制品?

    我同意它可能看起来是一个微优化,但我要求它更多地学习和理解Javascript如何工作(在流星环境中)。

    辅助问题:这是一个与关闭有关的问题吗?我还在想办法弄清楚。

    2 回复  |  直到 11 年前
        1
  •  1
  •   musically_ut    11 年前

    Meteor.userId() 只返回一个普通的旧Javascript字符串。您可以在第一次调用它之后将其保存在变量中,并在没有任何后果的情况下使用它。

    这与关闭本身无关,但与Meteor的反应性有关。只要你打电话 Meteor.userId() 至少一次 在反应式上下文中的函数中,Meteor将在函数更改时重新运行该函数。

        2
  •  -1
  •   C.Troffmann    11 年前

    您可以使用声明会话

    var yoursession = Meteor.userId(); 
    
    Session.set('yoursession')
    

    然后您可以在每个客户端页面中调用会话。要调用会话,请执行以下操作 Session.get('yoursession')

    注意:您只能在客户端设置会话,而不能在服务器端设置会话。