页面loading解决方案
展开全部
一个应用不管是App还是PC端打开页面的时候都会有loading,那么loading一般情况下是在页面调取接口数据的时候加载显示,数据加载完之后隐藏loading,那么在加载数据就会有存在几种情况:
这种情况下是大多时候出现的,请求开始时显示loading,结束时取消loading,这个目前看起来没有问题
当并列同时请求2个以上的数据接口时,有可能某个接口提前请求结束了,这时候取消loading会导致还未结束的其他请求也失去了loading,导致页面还没有数据
当页面正在请求接口时突然网络异常中断了,导致请求一直无法结束loading一直显示无法操作,只能关闭应用再重新打开
针对上述有可能重新的情况,那么我们很有必要封装一下这个loading的事件,使其在任何时候都能使用:
1、给这个loading公用的事件上一个计数的锁,每次请求开始执行loading的时候这个计数值就+1,请求结束的时候loading计数值就-1,那么当这个计数值为0的时候就可以取消loading的显示了
2、设置一个默认显示时间,当网络中断等导致请求无法继续时,等待一定时间后自动取消loading
这种情况下是大多时候出现的,请求开始时显示loading,结束时取消loading,这个目前看起来没有问题
当并列同时请求2个以上的数据接口时,有可能某个接口提前请求结束了,这时候取消loading会导致还未结束的其他请求也失去了loading,导致页面还没有数据
当页面正在请求接口时突然网络异常中断了,导致请求一直无法结束loading一直显示无法操作,只能关闭应用再重新打开
针对上述有可能重新的情况,那么我们很有必要封装一下这个loading的事件,使其在任何时候都能使用:
1、给这个loading公用的事件上一个计数的锁,每次请求开始执行loading的时候这个计数值就+1,请求结束的时候loading计数值就-1,那么当这个计数值为0的时候就可以取消loading的显示了
2、设置一个默认显示时间,当网络中断等导致请求无法继续时,等待一定时间后自动取消loading
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询