V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
hoythan
V2EX  ›  问与答

js 注释规范的问题,@returns 里面如何写类型?

  •  
  •   hoythan · 2018-12-19 10:22:54 +08:00 · 2978 次点击
    这是一个创建于 2173 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我现在的写法,类似于 ts

    /**
    * 你好世界
    * @returns { Promise<Boolean> } - 描述
    */
    const hello = () => {
    	...
    	return !!(any...)
    }
    

    不知道 js 有没有什么规范能够约定 Promise 返回的参数类型?

    例如

    /**
    * @returns { Promise< Boolean | String > } - 描述
    */
    
    
    10 条回复    2018-12-20 07:04:36 +08:00
    hoythan
        1
    hoythan  
    OP
       2018-12-19 10:24:39 +08:00
    另外 vscode 如何才能实现鼠标经过函数显示它的注释信息?没有找到可用的插件求推荐
    lovedebug
        2
    lovedebug  
       2018-12-19 10:28:25 +08:00
    印象中 VS 有 doc 插件可以用,自己也可以引入外部的 doc 库用作代码注释和格式化
    Pastsong
        3
    Pastsong  
       2018-12-19 10:36:59 +08:00
    TomVista
        4
    TomVista  
       2018-12-19 10:46:07 +08:00
    我觉得你写的就是 jsdoc,和 ts 没什么关系....

    另外你要的插件 vs 原生带
    hoythan
        5
    hoythan  
    OP
       2018-12-19 10:48:41 +08:00
    @TomVista
    @Pastsong


    规范只有约束了 类型,没有约束 promise 返回的有哪些类型,因为 异步比较多,都是 promise 没有实际意义

    http://usejsdoc.org/tags-returns.html
    Pastsong
        6
    Pastsong  
       2018-12-19 10:56:01 +08:00
    @hoythan 写 TypeScript 的类型就行,VSCode 甚至会帮你做类型检查(无须插件)
    azh7138m
        7
    azh7138m  
       2018-12-19 11:02:50 +08:00 via Android
    jsdoc 的格式就行,ts ( vscode )支持这种注释
    TomVista
        8
    TomVista  
       2018-12-19 15:39:22 +08:00
    @Pastsong @azh7138m @hoythan 突发奇想

    ```JavaScript
    function test1(){
    /**
    * @param {string} p
    * @param {int} a
    * @returns {Promise}
    */
    function Ts(p,a){
    return new Promise();
    }
    return Ts;
    }

    test1()().catch
    test1()().then
    ```
    azh7138m
        9
    azh7138m  
       2018-12-19 17:14:35 +08:00
    TomVista
        10
    TomVista  
       2018-12-20 07:04:36 +08:00 via iPhone
    @azh7138m 蛇皮操作:dog
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2550 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 04:45 · PVG 12:45 · LAX 20:45 · JFK 23:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.