【cc.loader.load】"binary" 的bug

平台: 桌面浏览器
如下代码,当传入错误的 url时,err 也返回 null.
附件 demo jszipTest.zip (1.2 MB)

// OK
// const url = cc.url.raw(‘resources/hello.zip’);
// Error
const url = cc.url.raw(‘resources/hello’);
cc.loader.load({ url, type: “binary” }, (err, zipData) => {
if (!err) {
cc.log(load zipData success......);
const newZip = new JSZip();
newZip.loadAsync(zipData).then(zip => {
zip.file(‘hello.txt’).async(‘string’).then(data => {
cc.log(解压成功!, data);
});
}).catch((e) => {
console.error(e);
});
} else {
console.error(err);
}
});

可以看到 downloadBinary时,onload时404 时,也callback(null, result);
感觉应该是Bug,但是对 XMLHttpRequest 不熟。

抱歉,这个在2.4上已经完善了,你可以加上个状态的判断,类似

OK,影响不大,就是报告一下。

多谢反馈:pray: