Javascript 如何在JSDoc中将函数定义为回调实现?

Javascript 如何在JSDoc中将函数定义为回调实现?,javascript,jsdoc,Javascript,Jsdoc,我这样定义了一个@回调: /** * @callback MyClass~Handler * @param {string} target * @param {Options} options - Original options */ 我用它来定义我的类原型: /** * @param {string} name - The name * @param {MyClass~Handler} handler * @private */ MyClass.prototype._bui

我这样定义了一个
@回调

/**
 * @callback MyClass~Handler
 * @param {string} target
 * @param {Options} options - Original options
 */
我用它来定义我的类原型:

/**
 * @param {string} name - The name
 * @param {MyClass~Handler} handler
 * @private
 */
MyClass.prototype._builder = function(name, handler) { //...
但是如何告诉JSDoc下面的函数与我的
MyClass~Handler
具有相同的定义(类似于下面代码中的
@isacallback


我没有对此进行测试,但是由于
@callback
只定义了一个类型,您不能使用
@type
声明吗

换言之:

/**
 * Default handler
 * @type {MyClass-Handler}
 * @private
 */
MyClass.prototype._defaultHandler = function(target, options) { // ...

有关
@type

的更多信息,请参阅,实际上并非如此,因为
@type
定义了一个类(如您所说的类型),因此我无法使用该注释描述函数参数……我想您可能误解了:
@type
不是用来定义类的(这就是
@typedef
的用途)。
@callback
定义了类型(因为
@callback
基本上只限于
@typedef
函数),然后您可以使用
@type
引用该定义(您希望使用不存在的
@isacallback
标记的方式),jsdoc将其显示为成员而不是方法,尽管它至少以正确的方式链接到正确的类型。如果您添加了
@函数
(试图澄清这是一种方法),则文档会错误地将
@type
显示为其返回类型。
/**
 * Default handler
 * @type {MyClass-Handler}
 * @private
 */
MyClass.prototype._defaultHandler = function(target, options) { // ...