我不熟悉在javascript中使用画布操作,并且遇到了我工具中的一项功能,该功能使用异步函数toBlob(将回调作为第一个参数)将HTML5Canvas转换为Blob。回调将转换后的Blob值作为输入接收,并可用于进一步处理。但是,对于很少发生的随机情况,toBlob函数无法转换为blob,并且回调接收null作为输入。在下面找到代码
canvases.forEach(canvasObj => {
canvasObj.canvas.toBlob(blob => {
const reader = new FileReader();
reader.readAsDataURL(blob)
reader.onload = function () {
//process reader.result
};
})
})
对于失败的案例,我在上面的代码中遇到了异常
Failed to execute 'readAsDataURL' on 'FileReader': parameter 1 is not of type 'Blob'
我检查了资源和类似问题,这些问题可以帮助我解决问题,但在这里找不到太多。任何人都可以帮忙,让我知道在什么情况下toBlob函数将失败。