2016-11-16 147 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 
}) 

是的,這是一個醜陋的地方註釋是