模拟网咯延迟

开发工具与关键技术:模拟网咯延迟 
作者:梁文杰
撰写时间:2019年4月7日

模拟网咯延迟1

现实生活中大家肯定都遇到过网咯不好的情况,不管怎么点都是“爱滴魔力转圈圈”,那么现在我们就来用学到的知识写一个简单的网咯延迟模拟
首先我们先来看看这个空白断层怎么写,我们先在这个return返回之前放上这个Thread.Sleep(),这个就代表在数据返回之前放了一个空白的加载层,在括号里写上需要停留的毫秒数,请看下图????
模拟网咯延迟

我给加载层设了7千毫秒(7秒),再来看看效果图
模拟网咯延迟

可以看到背影也变灰色了是因为避免发生误点功能没删,也就是等等后面要讲的内容没有注释掉看下去就会明白了,其实现在应该是能点其他的,加入在这段时间内点了其他的按钮,然后就会在保存成功后跳重复点击提醒的窗口(对了,这是在控制器实现的),加载完成之后就如下图所示????
模拟网咯延迟

模拟网咯延迟2

上面我们讲到了第一种模拟网咯延迟的方法,是在控制器写的,还有弊端:就是在加载中的时候可以点其他按钮,这样就会有客户误点的情况发生,现在我们来了解一下另一种,首先我们在页面那边定义一个全局的变量var layerIndex=0,用于记录窗口的编号,因为我们要手动关闭的(不会自动关),看下图????
模拟网咯延迟

然后我们在发送网咯请求的之前写加载层的开始load方法: layerIndex=layer.load(),在括号里可以写上0,1,2,不写的话默认是o,它们分别是三种加载图标,如下图所示????
模拟网咯延迟模拟网咯延迟模拟网咯延迟

然后前面我们说了要手动关闭(不关闭会一直加载),接下来我们就来写关闭加载层:layer.close(),在括号里就写我们前面定义的全局变量,如下图所示????
模拟网咯延迟

最后效果图可以参照上面的模拟网咯延迟1插图