@use JSDoc

语法

@callback <namepath>

概述

@callback 标记提供有关可传递给其他函数的回调函数的信息,包括回调函数的参数和返回值。您可以包含可用于 @method 的任何标记。

定义回调函数后,您可以使用与使用 @typedef 标记定义的自定义类型相同的方式使用它。具体而言,您可以将回调函数的名称用作类型名称。这允许您指示函数参数应包含特定类型的回调函数。

如果您希望回调函数与特定类的类型定义一起显示,则可以为回调函数提供一个 namepath,指示它是该类的内部函数。您还可以定义一个全局回调函数类型,该类型由多个类引用。

示例

记录特定于类的回调函数
/**
 * @class
 */
function Requester() {}

/**
 * Send a request.
 * @param {Requester~requestCallback} cb - The callback that handles the response.
 */
Requester.prototype.send = function(cb) {
    // code
};

/**
 * This callback is displayed as part of the Requester class.
 * @callback Requester~requestCallback
 * @param {number} responseCode
 * @param {string} responseMessage
 */
记录全局回调函数
/**
 * @class
 */
function Requester() {}

/**
 * Send a request.
 * @param {requestCallback} cb - The callback that handles the response.
 */
Requester.prototype.send = function(cb) {
    // code
};

/**
 * This callback is displayed as a global member.
 * @callback requestCallback
 * @param {number} responseCode
 * @param {string} responseMessage
 */