在编写 JavaScript 代码时,我总是注释我的函数 like described here ,类似于:
/**
* Add two values
* @param {Number} a
* @param {Number} b
* @returns {Number} the sum of a and b
*/
function add(a, b) {
return a + b;
}
现在,当我编写返回 Promise 的异步函数时,这将是:
/**
* Add two values
* @param {Number} a
* @param {Number} b
* @returns {Promise} the sum of a and b
*/
function add(a, b) {
return new Promise(function (resolve, reject) {
resolve(a + b);
});
}
但现在返回类型的描述 ( Promise
) 遗漏了有关 Promise 在解析时将返回什么类型的信息。
如何表示返回的 promise 将以 Number
解决?
我会想 Promise.<Number>
是最好的(类似于 Array.<Number>
),但在这方面还没有找到任何常见的做法。
最佳答案
你要的是generics .同时jsdoc doesn't officially support it yet这是处理它的正确方法。
正确的方法是:Promise.<number>
.
记录 Promise.<number, Error>
在我看来这是毫无意义的,因为 promise 总是会因错误而拒绝——otoh 指定特定的错误可能很有用,但可能有点矫枉过正。您的 promise 是最终数字的盒装值。因此,正确的方法是将其记录下来。
关于javascript - 如何在函数注释中描述返回的 promise ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22610107/