我的代码很简单,但是不起作用:(
function decode(pixelData) {
console.log(pixelData.constructor === Uint8Array); // true
console.log(pixelData.length); // 1440000
return new Promise((resolve, reject) => {
console.log('promise start');
try{
const fileReader = new FileReader();
fileReader.onload = function () { debugger; resolve(); }
fileReader.onerror = (e) => { debugger; reject(e);
fileReader.onloadend = e => { debugger; }
fileReader.onabort = e => { debugger; }
fileReader.onloadstart = e => { debugger; }
fileReader.onprogress = e => { debugger; }
fileReader.readAsDataURL(imgBlob);
} catch(err) {
debugger;
}
});
}
没有一个事件被调用!整个过程都被跳过了..调试器永不中断,承诺从未被拒绝或解决,也没有抛出异常,我只看到“承诺开始”,仅此而已。
这里有什么问题? (在最新版的Chrome中测试)
(ps我也尝试了readAsArrayBuffer()
,结果相同