比如登录表单,输入密码后按回车键一点反应都没有,必须点击登录按钮才能登录。
举个稍微复杂点的例子,消息列表
这个功能模块。
假设有两个需求:
如果处理不当,会出现漏消息、消息重复等情况。
所有开发环节出现的屎,都能追溯到设计环节。从设计环节就需要考虑好如何规避这些问题的发生。
实践:
在数据库设计章节提到了避免使用自增id。
所以就不能将消息id作为参数传递去查询,而采用时间戳的方式。
时间戳的选取:
如用户狂点导致的频繁刷新,或者用户手动刷新和自动刷新同时进行,都会导致获得到重复消息数据。
先进先出。前一条请求处理完成前,阻止下一条请求。