我通过闭包编译器运行以下命令并进行高级优化:
/**@type{Blob} */var blob = new Blob( ['[1,2]'], {type : 'text/html'} );
test(blob);
/** @param{Blob} a_blob */
function test(a_blob){
/**@type{FileReader} */var filereader = new FileReader();
filereader.onload = function(e){};
filereader.readAsArrayBuffer(a_blob);
}
我得到:
WARNING - actual parameter 1 of FileReader.prototype.readAsArrayBuffer does not match formal parameter
found : (Blob|null)
required: Blob
filereader.readAsArrayBuffer(a_blob);
^
我可以做什么来解决这个问题?这是 CC 中的错误吗?
最佳答案
不幸的是,闭包编译器假定所有对象类型都可以为空,除非您使用 !
告诉它另外的情况
/** @param{!Blob} a_blob */
function test(a_blob){
关于javascript - FileReader 和 Blob 的关闭编译器警告 - 无法修复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27768423/