在加载资源比较多的场景时,加载的进度是如何展示的呢?
将所有要加载的资源保存到一个对象里面里面,统计这个对象的数量,即需要加载的资源的总数,然后异步加载资源,用加载好的数量除于要加载的资源的总数就是此时加载的进度,把这个进度按百分比展示在页面即可以实现资源加载进度条。
异步加载资源管理实现思路
使用 axios 配合 async/await 实现异步加载资源与同步加载资源顺序管理。加载资源使用 axios 发起网络请求,get数据,await 等待 axios 网络请求的结果,如果加载成功,则更新加载资源进度,如果加载失败,axios 重新发起网络请求,直到get到需要的网络资源。
资源更新实现思路
本例子讲解由h5为实现思路,将加载成功的资源与版本号保存到 localStorage 。每次在新进入场景的时候,首先向服务器get到版本号,如果本地 localStorage 保存的版本号小于向服务器get到的版本号,则重新加载资源,并且保存版本号到本地 localStorage,如果从服务器get到的版本号相同,则直接从 localStorage 取数据即可。