Egret社区
产品 Egret Engine 版本 5.2.15
复现概率 100% 平台 Windows 10
复现步骤 1、设置一个实际不存在json文件的url变量(例如:abcdefg.json)
2、执行 RES.getResByUrl,指定type为RES.ResourceItem.TYPE_JSON
结果:Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0
 
 
问题描述 RES.getResByUrl加载json类型文件出错时无法正常catch或回调,得到error日志:
Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0
at JSON.parse (<anonymous>)
at assetsmanager.js:1998
 
 
错误代码 let compFunc = (value?: any, key?: string) => {
console.log("getResByUrl compFunc");
if (value) {
console.log("getResByUrl abcdefg.json ok");
} else {
console.log("getResByUrl abcdefg.json fail");
}
};
// ! update 20190325_1616 "5.2.15"
// ! in the latest egret version the param (compFunc?: Function) is not guaranteed to be called if JSON parse fail!
RES.getResByUrl("abcdefg.json", compFunc, null, RES.ResourceItem.TYPE_JSON);
 
 
BUG截图
本帖最后由 doneykoo 于 2019-3-26 12:00 编辑

问题概述:

RES.getResByUrl,加载一个不存在的json文件url,在出错时,无法正常catch、无法执行compFunc回调

重现代码:

[mw_shl_code=javascript,true]
                let compFunc = (value?: any, key?: string) => {
                    console.log("getResByUrl compFunc");
                    if (value) {
                        console.log("getResByUrl abcdefg.json ok");
                    } else {
                        console.log("getResByUrl abcdefg.json fail");
                    }
                };
                // ! update 20190325_1616 "5.2.15"
                // ! in the latest egret version the param (compFunc?: Function) is not guaranteed to be called if JSON parse fail!
                RES.getResByUrl("abcdefg.json", compFunc, null, RES.ResourceItem.TYPE_JSON);

[/mw_shl_code]


分享到 :
0 人收藏

5 个回复

倒序浏览
Nasus  初学乍练 | 2019-3-26 15:26:00
您好,目前版本已经升级到5.2.16了,建议您可以先尝试一下将工程升级为最新版本,我们这边也会对此问题进行测试,如确实有问题,会及时报告技术人员在新版本中修复,感谢您报告产品的问题。
hzj730  登堂入室 | 2019-3-27 11:59:48
Nasus 发表于 2019-3-26 15:26
您好,目前版本已经升级到5.2.16了,建议您可以先尝试一下将工程升级为最新版本,我们这边也会对此问题进行 ...

5.2.15 升级  5.2.16, assetmanager并没有任何修改。
doneykoo  登堂入室 | 2019-3-27 14:53:54
Nasus 发表于 2019-3-26 15:26
您好,目前版本已经升级到5.2.16了,建议您可以先尝试一下将工程升级为最新版本,我们这边也会对此问题进行 ...

您好,用了5.2.16新版本,
有个严重的新问题:
对于repeat设置为0(即无限循环)的timer,总是不会触发egret.TimerEvent.TIMER事件,
很多update的逻辑都失效了
Nasus  初学乍练 | 2019-3-27 15:03:14
doneykoo 发表于 2019-3-27 14:53
您好,用了5.2.16新版本,
有个严重的新问题:
对于repeat设置为0(即无限循环)的timer,总是不会触发eg ...

您好,目前关于timer的参数设置为0失效的问题我们已经收到反馈并提交给技术人员了,在下个版本的更新中就会修复该问题,您可以暂时先使用0以上的数字设置循环次数
doneykoo  登堂入室 | 2019-3-27 15:45:08
Nasus 发表于 2019-3-27 15:03
您好,目前关于timer的参数设置为0失效的问题我们已经收到反馈并提交给技术人员了,在下个版本的更新中就 ...

好的,希望尽快看到新版本
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部