Gili
Gili

Reputation: 90023

How to document callbacks using JSDoc?

Given a Javascript function that takes callback functions as parameters:

var myFunction = function(onSuccess, onFailure) {...}

How do I document onSuccess's return type and arguments?

Upvotes: 31

Views: 9858

Answers (2)

Jeff Williams
Jeff Williams

Reputation: 2241

In JSDoc 3.1 and later, you can use the new @callback tag to describe the callback function in a separate comment block. You can then refer to the callback in the docs for your method.

Here's an example:

/** @class */
function MyClass() {}

/**
 * Do something.
 * @param {MyClass~onSuccess} cb - Called on success.
 */
MyClass.prototype.myFunction = function(cb) {
    // code
};

/**
 * Callback used by myFunction.
 * @callback MyClass~onSuccess
 * @param {number} resultCode
 * @param {string} resultMessage
 */

See Use JSDoc for more information.

Upvotes: 30

Gili
Gili

Reputation: 90023

It seems this functionality does not exist yet.

This functionality was added as of JSDoc 3.1. See:

for a related discussion.

Upvotes: 2

Related Questions