使用Google闭包编译器记录回调参数
Documenting callback parameters using Google Closure Compiler
如何使用Google闭包编译器记录回调参数的名称和描述?
在阅读了这个关于用JSDoc记录回调的答案后,我尝试使用@callback
、@typedef
和@name
标记,但每一个都遇到了问题。
对于@callback
,Closure会发出"非法使用未知JSDoc标签"警告:
/**
* @callback EndDrawCallback
* @param {string} action - either "keep", "discard", or "cancel"
* @param {boolean} saveChanges - whether to mark changes as saved
**/
对于@typedef
,它给出了一个"与其他注释不兼容的类型注释":
/**
* @typedef {function(string,boolean)}
* @param {string} action ...
* @param {boolean} saveChanges ...
**/
var EndDrawCallback;
使用@name
,当尝试将回调名称用作类型时,它会发出警告"未知类型EndDrawCallback"
/**
* @name EndDrawCallback
* @function
* @param {string} action ...
* @param {boolean} saveChanges ...
**/
我能看到的唯一替代方案是
(a) 放弃并在不使用标记的情况下在回调参数之后编写文档,或者(b) 以重新构造代码,将具有命名属性的单个对象传递到回调中。
至少在这种情况下,(b)不是一个选项。有办法做到这一点吗?如果是,如何?
使用--extra_annotation_name
标志指定编译器无法识别的JSDoc标记。由于编译器识别并使用@typedef
,因此需要使用@callback
或@name
注释。
相关文章:
- 要求未定义JS回调参数
- Axios spread()具有未知数量的回调参数
- 节点回调参数无法断言instanceof Error
- each()-将额外的参数传递给回调参数
- AngularJS tokenWrapper-错误的回调参数
- 拉斐尔未运行回调参数
- 使用 jQuery 回调参数通过 AJAX 调用 PHP 函数
- 将函数的执行同步为 node.js 中的回调参数
- 当第一个函数完成没有回调参数时执行第二个函数
- 使用回调参数从函数中获取值
- 如何使用可选的回调参数制作 javascript 函数
- 为什么设置超时's回调参数可以接受参数
- 对 Array.prototype.some 使用额外的回调参数
- 使用Google闭包编译器记录回调参数
- JavaScript Object Literal“;这个“;关键字jQuery回调参数传递
- 在Meteor中运行的回调中未定义回调参数
- 回调参数名称
- 将jQueryajax回调参数定义为现有对象类型
- Reactjs路由器匹配回调参数总是未定义的
- Javascript自定义事件更改回调参数