javascript - 我如何在 webstorm 中使用 JSDoc @param 回调处理程序的参数?

标签 javascript webstorm jsdoc

我正在尝试对处理程序的参数使用 JSDoc 提示,但它不起作用。我试过使用@type 和@param 但它不起作用。官方 JSDoc 没有包含有关此问题的任何有用信息。

这不起作用:

    socket.on( "data",
    /**
     * @param request {Object}
     * @param request.code {Number}
     * @param request.id {Number}
     * @param request.sr {String}
     */
    function( request )
    {});

最佳答案

您可以使用复杂的“typedef”和“property”标签。记录在:http://usejsdoc.org/tags-typedef.html 但是,“~”字符似乎会阻止 WebIde 链接类型注释。 (只需使用不带波浪号的普通 typedef MyType 注释即可)

顺便说一句,对于 Google 关闭方式:

/** @typedef {{code: Number, id: Number, str: String}} **/
SocketRequest;

socket.on("data", handler);

/**
 * @param {SocketRequest} req
 */
function handler(req) {
    //req will be hinted here
}

这个 jsdoc 注释专门用于 Google Closure,但可以在没有 Closure 的情况下使用,只是为了提示。 (应该从 2012 年 8 月开始工作:http://blog.jetbrains.com/webide/2012/08/closure-syntax/)

关于javascript - 我如何在 webstorm 中使用 JSDoc @param 回调处理程序的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16349149/

相关文章:

javascript - JSDoc:如何记录返回传递构造函数实例的函数?

javascript - 当前导航链接问题(使用 jQuery Blend)

javascript - 创建一个接受对象文字的函数并从该对象的成员创建一个类

javascript - Stripe API - 使用 Javascript 检索所有收据(发票)

webstorm - 如何在 Webstorm 中的当前行上方插入新行?

javascript - 如何使用 WebStorm 在 TypeScript 而不是 JavaScript 中创建 Cucumber 步骤定义文件?

dart - dart项目(Aqueduct)中包含自定义文件(json,txt)的文件夹

javascript - jsdoc 如何使用静态属性的类

javascript - 如何将上传按钮的名称更改为请稍候..?

javascript - 如何防止在输入字段中写入和粘贴特殊字符?