我有一些返回promise对象的代码,例如,为NodeJ使用Q库.
var Q = require('q');
/**
* @returns ???
*/
function task(err) {
return err? Q.reject(new Error('Some error')) : Q.resolve('Some result');
}
如何使用JSDoc记录这样的返回值?
我有一些返回promise对象的代码,例如,为NodeJ使用Q库.
var Q = require('q');
/**
* @returns ???
*/
function task(err) {
return err? Q.reject(new Error('Some error')) : Q.resolve('Some result');
}
如何使用JSDoc记录这样的返回值?
即使它们在Javascript中不存在,我发现JSdoc理解"泛型类型".
因此,您可以定义自定义类型,然后使用/* @return Promise<MyType> */
.下面的结果是一个nice TokenConsume(token) → {Promise.<Token>},带有指向文档中自定义Token
类型的链接.
/**
* @typedef Token
* @property {bool} valid True if the token is valid.
* @property {string} id The user id bound to the token.
*/
/**
* Consume a token
* @param {string} token [description]
* @return {Promise<Token>} A promise to the token.
*/
TokenConsume = function (string) {
// bla bla
}
它甚至适用于/* @return Promise<MyType|Error> */
或/* @return Promise<MyType, Error> */
.