我有一个从EventEmitter
类中删除事件处理程序的函数。它看起来像这样:
EventEmitter.prototype.remove_handler = function(event_name, handler) {
if(arguments.length < 2) {
handler = event_name;
event_name = null;
}
// ...
};
可以使用事件名称和处理程序调用该函数,也可以仅使用处理程序调用该函数。如果存在事件名称,则从该特定事件中删除处理程序,否则它将从事件发射器中完全删除。
如何在JsDoc中记录此类方案?在这种情况下,我当然可以只记录出现的参数,并注意“event_name可以省略,在几何情况下(等等......)”,但我当然可以想象那些不可能的情况。
答案 0 :(得分:2)
您可以使用@also
标记提供多种方法签名:
/**
*
* @param {String} event_name
* @param {Function} handler
*
* @also
*
* @param {Function} handler
*/
EventEmitter.prototype.remove_handler = function(event_name, handler) {