I definiert eine @callback
auf diese Weise:Wie definiert man eine Funktion als Callback-Implementierung in JSDoc?
/**
* @callback MyClass~Handler
* @param {string} target
* @param {Options} options - Original options
*/
ich es verwenden, um meine Klasse Prototyp zu definieren:
/**
* @param {string} name - The name
* @param {MyClass~Handler} handler
* @private
*/
MyClass.prototype._builder = function(name, handler) { //...
Aber wie JSDoc zu sagen, dass die folgende Funktion die gleiche Definition hat wie meine MyClass~Handler
(etwas, das wie @isacallback
im folgenden Code wäre)?
/**
* Default handler
* @isacallback {MyClass-Handler}
* @private
*/
MyClass.prototype._defaultHandler = function(target, options) { // ...
Nicht wirklich, weil der '@ type' eine Klasse definiert (ein Typ wie du gesagt hast), also kann ich die Funktionsparameter zum Beispiel mit dieser Anmerkung nicht beschreiben ... –
Ich glaube, du verstehst das falsch: '@ type 'wird nicht verwendet, um eine Klasse zu definieren (dafür steht' @ typedef'). Der @ Callback definiert den Typ (weil @ Callback im Grunde nur '@ typedef' ist, das auf Funktionen beschränkt ist), und dann referenzieren Sie diese Definition mit' @ type' (so wie Sie es mit dem nicht vorhandenen '' möchten @ isacallback'-Tag). – machineghost