首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >VSCode JSDoc of Promise

VSCode JSDoc of Promise
EN

Stack Overflow用户
提问于 2020-11-05 22:36:08
回答 1查看 192关注 0票数 0
代码语言:javascript
运行
复制
const promise = new Promise((resolve) => {
    resolve('string');
});

"promise“变量的类型应该是Promise<any>,而它应该是Promise<string>。我能让它自动识别resolve()中放入的内容吗?我可以在docblock中手动描述类型,但是resolve()中有一个相当复杂的对象,我只是希望它使用自动生成的文档。

EN

回答 1

Stack Overflow用户

发布于 2020-11-06 19:43:48

我不认为你需要自动找出你投入到解决方案中的东西,如果你没有一个帮手围绕着那个承诺。

您可以创建自己的“类型”,并将它们传递给Promise,如下所示:D

代码语言:javascript
运行
复制
/**
 * @typedef {{name: "John", lastName: "Doe", age: "infinite"}} MyComplicatedObject
 * @type {Promise<MyComplicatedObject>}
 */
const promise = new Promise(resolve => {
    resolve({ name: 'John', lastName: 'Doe', age: 'infinite' });
});

您不需要重新输入它们,也可以在jsdoc注释中从其他文件中import它们,就像从js导入任何其他文件一样。

如果您希望自动检测resolve将解决的问题,您可以为该promise提供一个助手:

代码语言:javascript
运行
复制
/**
 * @template resT
 * @param {resT} whatToResolve
 * @returns {Promise<resT>}
 */
const myPromise = whatToResolve => {
    return new Promise(resolve => {
        resolve(whatToResolve);
    });
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64699377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档