我花了很长时间在互联网上寻找使用 jsdoc 正确记录回调的最佳方法,但不幸的是,我还没有找到一个很好的方法。
这是我的问题:
我正在为开发人员编写一个 Node.js 库。该库提供了开发人员将使用的多个类、函数和方法。
为了使我的代码清晰易懂,以及(希望)将来自动生成一些 API 文档,我已经开始在我的代码中使用jsdoc来自我记录正在发生的事情。
假设我定义了一个如下函数:
function addStuff(x, y, callback) {
callback(x+y);
});
使用 jsdoc,我目前正在记录此功能,如下所示:
/**
* Add two numbers together, then pass the results to a callback function.
*
* @function addStuff
* @param {int} x - An integer.
* @param {int} y - An integer.
* @param {function} callback - A callback to run whose signature is (sum), where
* sum is an integer.
*/
function addStuff(x, y, callback) {
callback(x+y);
});
我觉得上面的解决方案有点hack-ish,因为我没有办法绝对指定回调函数应该接受什么。
理想情况下,我想做类似的事情:
/**
* Add two numbers together, then pass the results to a callback function.
*
* @function addStuff
* @param {int} x - An integer.
* @param {int} y - An integer.
* @param {callback} callback - A callback to run.
* @param {int} callback.sum - An integer.
*/
function addStuff(x, y, callback) {
callback(x+y);
});
以上似乎可以让我更简单地传达我的回调需要接受的内容。那有意义吗?
我想我的问题很简单:用 jsdoc 清楚地记录我的回调函数的最佳方法是什么?
感谢您的时间。