如果添加1条数据会等待10秒,你愿意等吗
2016-09-12 15:55
183 查看
首先说明,这个问题出于自己写的一个小demo,很简单的数据添加操作,起初就是添加一条数据,成功之后刷新页面。后面觉得,刷新页面体验不好,就改成成功之后异步加载数据了,界面体验好了一些。
但是突然的就在想,动态追加的数据其实填写表单的时候就已经有了,等待成功的这个过程和我想要追加到元素其实关系并不是很大,并不需要等它成功之后给我返回数据我才能追加元素,之所以等成功只是为了等一个“信号”,表示成功加入到库里了。
那么,我进而就在想, 我们是不是可以不用等待成功之后再加载数据,直接填写表单,点击确定后就将数据动态追加到列表,异步请求成功后不做操作(给提示也可以),如果是失败就必须提示。
其实我觉得是可以的,虽然这种方式有一些限制。
先附上图:
---------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
重点回答以下几个问题,
1. 这个小demo其实就是加一条数据,没有必要等成功之后再追加元素,点击按钮后就可以追加,时间、用户等信息可以不通过后台返回,JS可以去取当前时间(可以适当忽略JS时间和后台真正请求时的时间差),用户名可以界面上取到,内容就是文本框了,完全可以动态追加到下面的容器中,可能会问如果添加失败了怎么办(这是这里要说的重点问题),个人觉得,添加失败的原因有可能是程序逻辑错误、或者服务器突然跪了、或者网络不好等因素,但综合着看添加失败的几率是很小的,我们没太大必要因为这些因素必须等待成功后才追加上去,一是程序的性能不好一定得解决,不能因为这个做“预判断”。二是这种概率小,如果这个添加需要等待10秒(这里理论上不可能,但如果是一个复杂的添加业务就有可能),那我觉得与其等待10秒为何不优先加载出来,可能添加失败后追加的东西因为没存进去也不会显示,但这种体验应该比等待10秒体验好,因为每一件事情都等成功之后才做的话,这中间可能会有一些我们不需要等待的无用时间。所以,想问,如果一个添加要等10秒,你愿意等吗。
2. 业务不同,优化程序有别的方式。这里其实主要是想探讨一下做法问题,具体问题具体分析,在软件编码的过程中,是否可以用这种方式,在数据可以从界面取的情况下,不等成功,直接操作,失败给予提示,操作过的DOM因为没有数据支撑刷新页面后自然会撤销。
突然想到的一点东西,有很多的局限性。
但是突然的就在想,动态追加的数据其实填写表单的时候就已经有了,等待成功的这个过程和我想要追加到元素其实关系并不是很大,并不需要等它成功之后给我返回数据我才能追加元素,之所以等成功只是为了等一个“信号”,表示成功加入到库里了。
那么,我进而就在想, 我们是不是可以不用等待成功之后再加载数据,直接填写表单,点击确定后就将数据动态追加到列表,异步请求成功后不做操作(给提示也可以),如果是失败就必须提示。
其实我觉得是可以的,虽然这种方式有一些限制。
先附上图:
---------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
重点回答以下几个问题,
1. 这个小demo其实就是加一条数据,没有必要等成功之后再追加元素,点击按钮后就可以追加,时间、用户等信息可以不通过后台返回,JS可以去取当前时间(可以适当忽略JS时间和后台真正请求时的时间差),用户名可以界面上取到,内容就是文本框了,完全可以动态追加到下面的容器中,可能会问如果添加失败了怎么办(这是这里要说的重点问题),个人觉得,添加失败的原因有可能是程序逻辑错误、或者服务器突然跪了、或者网络不好等因素,但综合着看添加失败的几率是很小的,我们没太大必要因为这些因素必须等待成功后才追加上去,一是程序的性能不好一定得解决,不能因为这个做“预判断”。二是这种概率小,如果这个添加需要等待10秒(这里理论上不可能,但如果是一个复杂的添加业务就有可能),那我觉得与其等待10秒为何不优先加载出来,可能添加失败后追加的东西因为没存进去也不会显示,但这种体验应该比等待10秒体验好,因为每一件事情都等成功之后才做的话,这中间可能会有一些我们不需要等待的无用时间。所以,想问,如果一个添加要等10秒,你愿意等吗。
2. 业务不同,优化程序有别的方式。这里其实主要是想探讨一下做法问题,具体问题具体分析,在软件编码的过程中,是否可以用这种方式,在数据可以从界面取的情况下,不等成功,直接操作,失败给予提示,操作过的DOM因为没有数据支撑刷新页面后自然会撤销。
突然想到的一点东西,有很多的局限性。
相关文章推荐
- XPTable 一行添加数据 如果想添加多行 可以使用for循环
- 判断本地系统目录下是否存在XML文件,如果不存在就创建一个XMl文件,若存在就在里面执行添加数据
- 如果等待能够给予我希望---我愿意这么寂寞的等下去!
- hibernate大批量数据的添加,如果对象足够多内存肯定要溢出
- mybatise+oracle添加数据时如果数据存在就更新,如果不存在就插入
- 用java实现实时监控表中的数据,如果有新添加的数据,就通知外部服务器查询这条新增的数据。
- oracle mybatis(Mergr into语句带序列)添加数据时如果数据存在就更新,如果不存在就插入
- 判断本地系统目录下是否存在XML文件,如果不存在就创建一个XMl文件,若存在就在里面执行添加数据
- iOS 如果刷新TableViewCell上得数据是空的 添加尾部"暂无数据提示"
- mysql_mybatis添加数据时如果数据存在就更新,如果不存在就插入
- 【发生的错误】sqlite 无法添加字符型数据 如果是带参数的看解决方案2
- 在JSP中如果数据添加失败,如何保留刚才填写的内容
- 用一个工作线程来发送询问命令,等待接收到下位机应答数据后退出。如果两秒下位机未应答,则重发询问命令。重发10次下位机不应答,则认为通信故障,
- mysql 如果存在id则设数据自增加1 ,不存在则添加。java月份计算比较
- mybatis+oracle添加数据时如果数据存在就更新,如果不存在就插入
- javascript中提交时先检测数据的有效性,如果输入的值无效,则出现提示,并停止提交。
- SQL Server 中添加数据的方法
- 用Nhibernate怎么实现数据的添加、删除、修改简单程序
- (原创)怎么直接建立一个DataTable并且为之添加数据
- DataGrid 中添加数据