2013-05-02 12 views
5

Próbuję użyć podpowiedzi JSDoc na parametr obsługi, ale nie działa. Próbowałem z @type i @param i to nie działa. Oficjalny JSDoc nie zawierał żadnych pomocnych informacji dotyczących tego problemu.Jak mogę JSDoc @param w webstorm parametrów obsługi wywołania zwrotnego?

To nie działa:

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

Odpowiedz

2

Można użyć kompleks "typedef" i "mienie" tagi. Udokumentowane w: http://usejsdoc.org/tags-typedef.html Jednak "~" char wydaje się uniemożliwiać WebIde łączenie adnotacji typu. (Wystarczy użyć zwykłego typedef MyType adnotacji bez tyldy i to działa)

BTW, dla Google Closure sposób:

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

socket.on("data", handler); 

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

Ten JSDoc adnotacja jest szczególnie dla Google zamknięciu, ale może być używany bez Zamknięcie tylko przez wzgląd podpowiedzi. (powinien działać od sierpnia 2012: http://blog.jetbrains.com/webide/2012/08/closure-syntax/)

1

To jest niejasne pytanie, więc tutaj jest moje przypuszczenie:

socket.on("data", 
/** 
* @param request {Object} 
* @param request.code {Number} 
* @param request.id {Number} 
* @param request.sr {String} 
*/ 
function(request) 
    typeof request.id == 'number'; 
    console.log(request.sr); // will print out the string 
{}); 

Komentarz prostu opisuje, które dane/klawisze należy spodziewać się w obiekcie żądania.

+2

Tak i komentarze nie działają, nie rozpoznaje ani kodu, ani sr. Nie rejestruje się nawet jako obiekt. – Discipol

Powiązane problemy