Cc.loader.load,加载超时就卡住了,为什么???

为什么使用cc.loader.load加载时,如果有资源下载不下来就一直卡在哪里,直至超时!

请教,有碰到这个坑的吗?谢谢了!

。。。这个,,,明显是服务器的问题啊。。服务器如果返回资源错误,那就直接过去,什么都没返回的话,只能等待超时。。。

这个不是坑吧。。。

不能这样处理吧!好像有点问题,无论是服务器的原因或者客户端的原因,都不应该卡死这么长时间的!如果手机穿过了一个没信号的地方,网络也没有断开,前后端都在那等着,cc.loader也不重新加载,直至10几分钟后,超时了重新加载,然后几毫秒就加载完了!

并且其实卡顿的时候,我看了,服务器是好着的,访问完全没有问题!

特别是加载cocostudio的生成json文件,十有八九都会卡死,并且也一直不会超时!

T.T

这个能不能多找几台机器和浏览器测试哦。或者看看能不能把资源等链接发出来,大家可能可以看出点什么问题。

需要先说明一下获取资源的方式和服务器检索返回:

获取资源的方式是,客户端发起 http 请求,等待服务器返回数据,返回成功后,浏览器会发出事件,通知 js 代码内的监听器,告诉我们说加载完成了,而这中间的过程,是不透明的,我们并不能知道中间浏览器是在干嘛。。。

所以就加载流程来说,我们只能够一个个资源去等待事件通知,如果没通知,并且超过一定时间,就认定为失败。。。没有其他的办法去控制这中间的不透明的过程的额。

然后就是服务器收到了客户端的 http 请求,这时候,就开始检索自己内部的资源,找到以后,按照既定的方式和格式把数据返回回去。服务端是一个一对多的服务器,也就是说也许一对一访问都是正常的,可能100个并发,1000个并发出去的时候,会出现丢包,丢链接,造成客户端永远接受不到数据,一直等待到超时。

现在引擎能够做的只是说在客户端等待资源。。。如果加载回调事件没触发,那根本无从知道资源的状态= =。。
有可能是服务端没返回,有可能是浏览器没触发和发送事件。

确实是您描述的这个情况,网络并没有超时,也没有反馈,并不知道在哪个环节就没有反馈了!

是否可以提供一个设置超时时间的接口,如果超时了,就是让他回调也行,自动重新加载也行。这样的话,好歹我们可以收到反馈,控制游戏继续往下进行,而不是一直就卡住了!

我也是急求解决方案,网络不好的情况,游戏加载进度条一直卡在那里,每次都要重新刷新网页,然后进度多走一点, 太影响体验了。我在控制台看到的NetWork是红色的加载失败。仍然卡在那里。

能不能如楼主说的加一个计时器,如果超过时间仍然等待就重新再次请求。或者跳过。

楼主这个问题解决了么?

cc.loader.load 同样 网络不是很好情况 加载超时 咱们是否能加一个回调表示加载超时 这样就可针对处理 了

楼主最后怎么解决的 求分享