.apply
을 param 콜백으로 사용하면 WARNING - could not determine the type of this expression
이 표시됩니다. 내가 그것을 모범이되게 하소서. 이 코드가 내 코드에서클로저 컴파일러 : 콜백에서이 표현식의 유형을 확인할 수 없습니다.
/**
* @param {function(... [*])} callback
* @param {string} name
*/
function call(callback, name) {
return callback.apply(null, [name]);
// ^- error here.
}
을, 나는 PARAM에 callback
세트 .apply
을 필요로하고 반환 것을 얻을. 하지만 Closure Compiler는 오류가 발생합니다. java -jar compiler.jar --js test.js --js_output_file test.min.js --warning_level VERBOSE --jscom_warning reportUnknownTypes
으로 실행해야합니다. 나는 모든 알 수없는 유형의 경고 강제
참고하지만, callback
유형 function(... [*])
이며, 올바르게 .apply
방법이 (때문에 당신의 유형 CC에 내부적으로 정의). 코드를 실행하면 브라우저에서 완벽하게 작동합니다.
클로저 컴파일러 버그 일 수 있습니까? 내가
@param {*} callback
시도것들 : 오류;
@param {function(*)} callback
: 오류;return /** @type {function(... [*])} */ (callback).apply(null, [name]);
: 오류;return (/** @type {function(... [*])} */ (callback)).apply(null, [name]);
: 오류;