流星中的会话是用词不当吗?

时间:2015-03-01 23:02:14

标签: meteor

虽然我最近才开始广泛使用Meteor,但Meteor中Session对象的名称“Session”对我来说就像是一个误称。它与传统上在网络上的使用方式截然不同,我不明白为什么这样命名。是否有特定原因或是否可以将其重命名为更合适的原因?

1 个答案:

答案 0 :(得分:2)

Session变量是一个反应性数据源:

  • 可以在客户端代码中的任何位置进行全局访问
  • 将在热门代码推送中幸存下来
  • 无法承受重装

我同意这个名字因为最后一点而令人困惑。要回答你的问题,是的,如果你真的想要的话,可以将其命名为其他东西。例如:

的客户机/ LIB / session.js

NotReallySession = Session;

然后在您的客户端代码的其他地方,您可以这样做:

NotReallySession.set('answer', 42);
NotReallySession.get('answer');

但是,我不确定这样做会让你真正获得什么。

更有吸引力的解决方案是使用类似persistent-session的软件包修改Session api,通过在localstorage中保留值来为页面刷新提供持久性。

特别感兴趣的是Session.setAuth函数,它存储一个持久的被动值,该值在注销时被清除。在我看来,这与其他情境中的“会话”概念最为吻合。