我在网上搜索了很久,寻找用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清晰地记录回调函数的最佳方法是什么?
感谢您花费时间。