我正在尝试对处理程序的参数使用 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/