博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如果添加1条数据会等待10秒,你愿意等吗
阅读量:5277 次
发布时间:2019-06-14

本文共 1172 字,大约阅读时间需要 3 分钟。

 首先说明,这个问题出于自己写的一个小demo,很简单的数据添加操作,起初就是添加一条数据,成功之后刷新页面。后面觉得,刷新页面体验不好,就改成成功之后异步加载数据了,界面体验好了一些。

但是突然的就在想,动态追加的数据其实填写表单的时候就已经有了,等待成功的这个过程和我想要追加到元素其实关系并不是很大,并不需要等它成功之后给我返回数据我才能追加元素,之所以等成功只是为了等一个“信号”,表示成功加入到库里了。

那么,我进而就在想, 我们是不是可以不用等待成功之后再加载数据,直接填写表单,点击确定后就将数据动态追加到列表,异步请求成功后不做操作(给提示也可以),如果是失败就必须提示。

其实我觉得是可以的,虽然这种方式有一些限制。

先附上图:

 ---------------------------------------------------------------------------------------------

 ---------------------------------------------------------------------------------------------

 

 重点回答以下几个问题,

1. 这个小demo其实就是加一条数据,没有必要等成功之后再追加元素,点击按钮后就可以追加,时间、用户等信息可以不通过后台返回,JS可以去取当前时间(可以适当忽略JS时间和后台真正请求时的时间差),用户名可以界面上取到,内容就是文本框了,完全可以动态追加到下面的容器中,可能会问如果添加失败了怎么办(这是这里要说的重点问题),个人觉得,添加失败的原因有可能是程序逻辑错误、或者服务器突然跪了、或者网络不好等因素,但综合着看添加失败的几率是很小的,我们没太大必要因为这些因素必须等待成功后才追加上去,一是程序的性能不好一定得解决,不能因为这个做“预判断”。二是这种概率小,如果这个添加需要等待10秒(这里理论上不可能,但如果是一个复杂的添加业务就有可能),那我觉得与其等待10秒为何不优先加载出来,可能添加失败后追加的东西因为没存进去也不会显示,但这种体验应该比等待10秒体验好,因为每一件事情都等成功之后才做的话,这中间可能会有一些我们不需要等待的无用时间。所以,想问,如果一个添加要等10秒,你愿意等吗。

2. 业务不同,优化程序有别的方式。这里其实主要是想探讨一下做法问题,具体问题具体分析,在软件编码的过程中,是否可以用这种方式,在数据可以从界面取的情况下,不等成功,直接操作,失败给予提示,操作过的DOM因为没有数据支撑刷新页面后自然会撤销。

 

突然想到的一点东西,有很多的局限性。

 

转载于:https://www.cnblogs.com/sunshine-wy/p/5865104.html

你可能感兴趣的文章
设计模式(c#)代码总结
查看>>
POJ-Common Substrings(后缀数组-长度不小于 k 的公共子串的个数)
查看>>
Linux系统查看日志信息总结
查看>>
斐波那契数列
查看>>
Jpa规范中persistence.xml 配置文件解析
查看>>
net1:DateTime,Application与Session,
查看>>
.Net 4.0 新特性
查看>>
Collection类集
查看>>
SpringBoot集成TkMybatis插件 (二)
查看>>
css基础--Display(显示) and Visibility(可见性)and position (定位)
查看>>
[Vuex系列] - 细说state的几种用法
查看>>
Win7下如何设置护眼的电脑豆沙绿界面?保护眼睛的颜色设置教程
查看>>
比较Java中几个常用集合添加元素的效率
查看>>
Linux进程间通信(六):共享内存 shmget()、shmat()、shmdt()、shmctl()
查看>>
Java Socket编程,读服务器几个字符,再写入本地显示。
查看>>
PLSQL Developer 出现ORU-10027: buffer overflow, limit of 10000 bytes
查看>>
C#关于MSMQ通过HTTP远程发送专有队列消息的问题
查看>>
关于AJAX跨域调用ASP.NET MVC或者WebAPI服务的问题及解决方案
查看>>
如何在IntelliJ IDEA中快速配置Tomcat
查看>>
在openwrt上编译一个最简单的ipk包
查看>>