[LayaAir3]资源加载失败不会重试的异常
1.测试例子使用的是404异常
2.默认跑例子可以重现加载异常的情况
3.附加另外一个BUG,用网页打开测试例子,然后关闭编辑器,必然触发
index.js:59 WebSocket is already in CLOSING or CLOSED state
这种情况下,本资源不再重试并且卡住(加载回调未执行),目前在编辑器共享给其他人,对方如果是wifi,信号容易抖动,或者对方网络抖动的情况下很容易出现。
2.默认跑例子可以重现加载异常的情况
3.附加另外一个BUG,用网页打开测试例子,然后关闭编辑器,必然触发
index.js:59 WebSocket is already in CLOSING or CLOSED state
这种情况下,本资源不再重试并且卡住(加载回调未执行),目前在编辑器共享给其他人,对方如果是wifi,信号容易抖动,或者对方网络抖动的情况下很容易出现。
没有找到相关结果
已邀请:
3 个回复
layabox
赞同来自:
但是对于加载失败的资源,开发者可以修改默认的重载次数,以及重载的间隔时间,例如:
第二、你的例子的逻辑存在BUG,导致了一直重新加载,却一直无法重新加载成功。
你的代码里,永远都去加载一个不存在的文件,他当然是一直按你的逻辑,总是在循环请求一个不存在的文件,然后就一直请求不成功了。
你没有进行修改文件名,只是改getRes里的文件名,当然也不可能重截成功了。
你应该在加载回调里,未获得资源的逻辑里去加载一个正确的资源,这时模拟请求资源成功,在重新加载的逻辑里,自然就走到了加载成功的逻辑里了。
示例修改如下,你自行研究一下吧。关于资源加载这块的引擎逻辑,引擎用了快十年了,不可能出现这种基础的BUG,您再仔细理解一下。 下图是修改后的加载运行效果截图,当尝试无效后,引擎就不再尝试,交给开发者自己的逻辑重新加载,加载成功后,进入成功的逻辑打印。
layaAir小孟
赞同来自:
1、资源加载失败时,它是会重试的,我用您的demo,它一直在重试加载资源(见附件的录屏)。
2、网页打开测试例子后,是不能关闭LayaAirIDE的,您说的那个不是bug。
Recovery
赞同来自:
2.正常期望是每次请求都会有一次黄色警告,即加载前日志数量 = 黄色警告日志数量 = 加载完成回调数量
3.加载的位置我写了注释,在这个例子执行过程中,可以将项目里的资源名称改为可以正常加载的名称,加载依然无法完成(也可能是本地服务器未刷新资源导致)