[LayaAirIDE3]Laya.loader.on(Event.ERROR, this, this.onError) 无法侦听到加载资源失败

laya3 加载资源后使用 Laya.loader.on(Event.ERROR, this, this.onError) 无法获得加载失败响应,根据示例里的错误处理和进度操作也得不到错误的响应,laya2里是可以的,不知是不是3的bug还是需要用其他方法来实现。
 
onAwake(): void
    {
        // 无加载失败重试
        Laya.loader.retryNum = 0; 
        var urls: any = ["do not exist", "resources/res/fighter/fighter.png", "resources/res/legend/map.jpg"];
        Laya.loader.load(urls, Laya.Loader.IMAGE, this.onLoading).then(() =>
        {
            this.onAssetLoaded();
        }); 
        // 侦听加载失败
        Laya.loader.on(Event.ERROR, this, this.onError);
    } 
    private onAssetLoaded(): void
    {
        // 使用texture
        console.log("加载结束");
    } 
    // 加载进度侦听器
    private onLoading(progress: number): void
    {
        console.log("加载进度: " + progress);
    } 
    private onError(err: string): void
    {
        console.log("加载失败: " + err);
    } 
 
 
 运行后得到的结果是这样的,没有加载失败输出
 
已邀请:

谷主

赞同来自:

检查返回值,null就是加载失败。如果是同时加载多个资源,那检查返回的数组中是否有null。

球块

赞同来自:

Promise应该用 Laya.loader.load(urls, Laya.Loader.IMAGE, this.onLoading).then(() =>
        {
            this.onAssetLoaded();
        }).catch(()=>{
 
}); 
来监听错误

该问题目前已经被锁定, 无法添加新回复

商务合作
商务合作