最佳答案
我已经花了相当长的时间在网上寻找用 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);
});
我觉得上面的解决方案有点老土,因为我没有办法绝对地指定回调函数应该接受什么。
理想情况下,我想做这样的事情:
/**
* 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 清楚地记录我的回调函数的最好方法是什么?
打扰了。