Documentation VSCode:如何记录解决复杂对象的承诺?
我有一个函数Documentation VSCode:如何记录解决复杂对象的承诺?,documentation,visual-studio-code,jsdoc,Documentation,Visual Studio Code,Jsdoc,我有一个函数f,它返回一个Promise。返回的Promise或者resolve({name:String,data:Object})或者reject(Error) 我在VSCode中尝试了以下语法(如中所述),但不起作用: /** * @promise fPromise * @reject {Error} * @fulfill {Object} project * @fulfill {Object} project.data * @fulfill {String} project.n
f
,它返回一个Promise
。返回的Promise
或者resolve({name:String,data:Object})
或者reject(Error)
我在VSCode中尝试了以下语法(如中所述),但不起作用:
/**
* @promise fPromise
* @reject {Error}
* @fulfill {Object} project
* @fulfill {Object} project.data
* @fulfill {String} project.name
* @returns fPromise
*/
为了尽可能清楚,为什么不把对象的性质放在一行来描述呢?这应该是对这一点的描述
/**
* @promise fPromise
* @fulfill {Object} A project object with the format {name: String, data: Object}
* @reject {Error}
* @returns fPromise
*/
或者,如果要处理动态生成的对象键,类似于:
/**
*@promise fPromise
*@fully{Object.}
*@reject{Error}
*@fPromise
*/
这样,任何阅读您的注释的人都可以理解返回的对象的外观、键是什么以及每个键中应该包含什么类型的值
除非,你想说它可以返回三种可能性中的任何一种。然后,我认为您的原始格式更能描述履行承诺的可能结果。我认为您最好将
履行
响应包装到自定义对象中:
/**
* @promise fPromise
* @reject {Error}
* @fulfill {Project}
* @returns {Promise.<Project>}
*/
function renderResults(data) {
return new Promise((resolve, reject) => {
resolve(new Project())
})
}
renderResults()
function Project() {
this.data = "data";
this.name = "project phoenix"
this.location = {
city: 'seattle',
state: 'wa'
}
}
/**
*@promise fPromise
*@reject{Error}
*@fulfill{Project}
*@returns{Promise.}
*/
函数渲染结果(数据){
返回新承诺((解决、拒绝)=>{
解析(新项目())
})
}
renderResults()
功能项目(){
this.data=“data”;
this.name=“凤凰计划”
此位置={
城市:'西雅图',
国家:“wa”
}
}
这将在VS代码中显示如下:
在我的情况下,履行承诺的结果可能包含10+个静态密钥,因此不方便在一行中记录它们。
/**
* @promise fPromise
* @reject {Error}
* @fulfill {Project}
* @returns {Promise.<Project>}
*/
function renderResults(data) {
return new Promise((resolve, reject) => {
resolve(new Project())
})
}
renderResults()
function Project() {
this.data = "data";
this.name = "project phoenix"
this.location = {
city: 'seattle',
state: 'wa'
}
}