JSDoc:箭头函数参数

问题描述 投票:0回答:2

我正在尝试使用 JSDoc(EcmaScript 2015、WebStorm 12 Build 144.3357.8)记录我的代码。

我有一个箭头函数,我想记录它的参数。 这两个示例有效(我得到自动完成):

/** @param {Number} num1*/
var a = num1 => num1 * num1;
//------------------------------
/** @param {Number} num1*/
var a = num1 => {
    return num1 * num1;
};

但是当我想在

forEach
函数中记录一个箭头函数时,例如,自动完成不起作用(以下所有):

/** @param {Number} num1*/
[].forEach(num1 => {
    return num1 * num1;
});
//------------------------------
/** @param {Number} num1*/
[].forEach(num1 => num1 * num1);
//------------------------------
[].forEach(/** @param {Number} num1*/num1 => num1 * num1);
//------------------------------
[].forEach(/** @param {Number} num1*/num1 => {
    return num1 * num1;
});

有人设法完成这项工作吗?

javascript ecmascript-6 webstorm jsdoc arrow-functions
2个回答
13
投票

从下一个 EAP 构建开始,WebStorm 将理解这一点:

[].forEach(/**Number*/num1 => {
    return num1 * num1;
});

详情请看WEB-19280


3
投票

您可以使用这种格式:

/**
 * @param {(prevState: ActionState) => ActionState} setActionState
 */
function f(setActionState) {
  // ...
}

或:

/**
 * @param {function(prevState: ActionState): ActionState} setActionState
 */
function f(setActionState) {
  // ...
}
© www.soinside.com 2019 - 2024. All rights reserved.