VSCode:如何记录使用复杂对象解析的promise?

lz9*_*z96 11 documentation jsdoc visual-studio-code

我有一个函数f返回一个Promise.返回的Promise任一resolve({name: String, data: Object})reject(Error).

我在VSCode中尝试了以下语法(如JSDoc中的一个问题所述),但它不起作用:

/**
 * @promise fPromise
 * @reject {Error}
 * @fulfill {Object} project
 * @fulfill {Object} project.data
 * @fulfill {String} project.name
 * @returns fPromise
*/
Run Code Online (Sandbox Code Playgroud)

Mar*_*ari 6

我认为最好的选择是将您的fulfill响应包装到自定义对象中:

/**
 * @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'
    }
}
Run Code Online (Sandbox Code Playgroud)

这将在 VS Code 中显示如下:

在此输入图像描述