EAServer 区分状态组件和无状态组件
EAServer 区分状态组件和无状态组件
会哭的鳄鱼 发表于5个月前
EAServer 区分状态组件和无状态组件
  • 发表于 5个月前
  • 阅读 17
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

pb组件在eas上有两大类,状态组件组件和无状态组件

状态组件,就是组件一旦在服务器端创建,将会一直保持和当前客户端会话的状态,直到客户端显式调用setcomplete()或则setabort()。

在状态组件中,可以定义很多实例变量,用来保存客户端的一些私有数据,但要注意,如果是定义组件限制限制类型以外的实例变量,例如,datastore等,则必须要定义为保护型的或则私有型的。

另外,因为我们一般都是把组件定义为支持缓存,则我们必须要在组件的activate事件中讲这些实例变量设置为初始值,否则,可能会导致数据的“脏”访问。

无状态组件,就是通俗地讲,就是组件不保存和客户端的会话状态,一旦完成一次函数的调用,EAS将自动将该组件实例缓存或则销毁。我们不能在组件中保存客户端的私有数据。

从系统效能上来说,如果不是必须,我们尽量使用无状态组件。而实际上,无状态组件也基本上可以满足我们绝大部分的需要。

很多开发人员因为习惯了在两层下自己控制数据库事务,到了三层,总是喜欢使用有状态组件。这是不好的习惯,只要转变了观念,你会发现,无状态组件将是最佳的选择。

标签: EAServer 组件
共有 人打赏支持
粉丝 2
博文 35
码字总数 37778
×
会哭的鳄鱼
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: