javascript - FileReader 和 Blob 的关闭编译器警告 - 无法修复

标签 javascript filereader google-closure-compiler

我通过闭包编译器运行以下命令并进行高级优化:

/**@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/

相关文章:

javascript - 单击图例中的项目时如何禁用 ZingChart 中的栏消失

java ;文件输入输出中特定字符的换行

javascript - javascript FileReader 如何知道要读取哪个文件?

javascript - 使用 Google Closure Compiler 记录回调参数

javascript - 在闭包高级编译中获取对象的属性名称?

javascript - 如果用户同时发送多张照片,如何让机器人响应一次?

javascript - 为什么两条 Jquery 行都不会执行?

javascript - 如何从 Chrome 扩展程序发送更长的电子邮件?

c# - 从上传的文件中读取文本 - C# 和 javascript

google-closure-compiler - 闭包编译器依赖计算比closurebuilder.py慢得多