hoythan
V2EX  ›  问与答

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

  •  
  •   hoythan · Dec 19, 2018 · 3307 views
    This topic created in 2703 days ago, the information mentioned may be changed or developed.

    我现在的写法,类似于 ts

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

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

    例如

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

    另外你要的插件 vs 原生带
    hoythan
        5
    hoythan  
    OP
       Dec 19, 2018
    @TomVista
    @Pastsong


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

    http://usejsdoc.org/tags-returns.html
    Pastsong
        6
    Pastsong  
       Dec 19, 2018
    @hoythan 写 TypeScript 的类型就行,VSCode 甚至会帮你做类型检查(无须插件)
    azh7138m
        7
    azh7138m  
       Dec 19, 2018 via Android
    jsdoc 的格式就行,ts ( vscode )支持这种注释
    TomVista
        8
    TomVista  
       Dec 19, 2018
    @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
    ```
    TomVista
        10
    TomVista  
       Dec 20, 2018 via iPhone
    @azh7138m 蛇皮操作:dog
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5782 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 1084ms · UTC 06:30 · PVG 14:30 · LAX 23:30 · JFK 02:30
    ♥ Do have faith in what you're doing.