[LayaAirIDE 2.0]Laya.loader加载BUG

加载图片的时候,源码里这一步会的url为“”的时候,会执行this.onLoaded(null)这一步_
_proto.load=function(url,type,cache,group,ignoreCache,useWorkerLoader){
        (cache===void 0)&& (cache=true);
        (ignoreCache===void 0)&& (ignoreCache=false);
        (useWorkerLoader===void 0)&& (useWorkerLoader=false);
        if (!url){
            this.onLoaded(null);
            return;
        }
 
而type 是 atlas
 
__proto.onLoaded=function(data){
        //add by yeyq, 检查是否正在下载,避免网页reload
        this.event("progress",0); 
        var type=this._type;
        if (type=="plfb"){
            this.parsePLFBData(data);
            this.complete(data);
        }else if (type=="plf"){
            this.parsePLFData(data);
            this.complete(data);
        }else if (type==="image"){
            var tex=new Texture(data);
            tex.url=this._url;
            this.complete(tex);
        }else if (type==="sound" || type==="htmlimage" || type==="nativeimage"){
            this.complete(data);
        }else if (type==="atlas"){
            if (Laya.stage["support_gzip"])
            {
                if (data != null && !data.url && !data._setContext)
                {
                    var res = '';
                    try{
                        var data = pako.inflate(data);
                        var i = 0;
                        for (i = 0; i < data.length; i++) {
                            res = res + String.fromCharCode(data[i]);
                        }
                        data = JSON.parse(res);
                    }catch(error)
                    {
                        console.log("parse fail " + error);
                    }
                }
            } 
            if (!data.url && !data._setContext){
 
在onloaded中没有对data做任何的非空判断,在这一步data.url的时候,就会报错了。导致卡死。
 
企业微信截图_20200427144414.png
已邀请:

1588124599用户

赞同来自:

这是哪个版本的?

要回复问题请先

商务合作
商务合作