2016-11-16 107 views
2

我正在努力寻找一种方法来注释胖箭头函数中的参数。在这里,让我给你看例子:在匿名函数中注释参数

angular.forEach(someIterable, (item, key) => { 
    // here I need item to be annotated 
}) 

所以,我想:

/** 
* @param {MyType} item 
*/ 
angular.forEach(someIterable, (item, key) => { 
    // here I need item to be annotated 
}) 

甚至:

angular.forEach(someIterable, (/** @type {MyType} */ item, key) => { 
    // here I need item to be annotated 
}) 

但是不,它不工作。当然,我可以在箭头功能里面做一些类似他的事情,但我不想。

/** @type {MyType} */ 
let annotatedItem = item; 

有没有办法做到这一点?我可以将箭头函数提取到单独的变量中,然后将其作为第二个参数传递给forEach,但我不想这样做,因为这会使我的代码更不易读。

+0

“但是不,它不工作。” ?什么?怎么样? – marekful

+0

IDE无法理解它(Intelijj IDEA) – Pirozek

+0

我看到...最近的版本(如2016.2)应该为ECMA6做这些工作https://www.jetbrains.com/help/idea/2016.2/javascript-specific-guidelines。 html#d1031464e34 – marekful

回答

0
angular.forEach(someIterable, 
/** 
* @param {MyType} item 
*/ 
(item, key) => { 
    // here I need item to be annotated 
}) 

是的,这是一个丑陋的地方注释是