Können Sie diese seltsame ES6-Pfeilfunktion über Typoskript erklären?

8

mit Typoskript ...

%Vor%

Verstehe ich das richtig? Es ist eine subscribe-Methode, die die Funktion eines Arguments vom Typ function bekommt, und diese angegebene Funktion erhält beim Aufruf ein state-Argument, die argumented-Funktion gibt nichts zurück (zB: void) ... und ich bin am letzten verloren () = & gt; () = & gt; void

: /?

Sean

    
born2net 21.01.2016, 18:42
quelle

3 Antworten

8

Für eine öffentliche Eigenschaft namens subscribe , die den Typ (subscribeFunction: (state) => void) => () => void; hat:

%Vor%

Hier ist ein Beispiel, das kompiliert:

%Vor%     
David Sherret 21.01.2016 18:46
quelle
0

Beachten Sie, dass der erste Doppelpunkt - subscribe eine öffentliche Eigenschaft eines Funktionstyps und keine Methode ist. Entfaltet:

%Vor%

Sie können also eine Funktion in der Eigenschaft subscribe speichern und sie dann aufrufen, während Sie ihr eine Funktion als Parameter zuweisen. Dadurch erhalten Sie eine weitere Funktion, die Sie anschließend aufrufen können:

%Vor%     
charlie 21.01.2016 19:03
quelle
0

tx für Feedback, jetzt, da ich es verstehe, denke ich, dass es am besten wie folgt erklärt wird:

öffentlich abonnieren: (subscribeFunction: (state) = & gt; void)

// Der erste Trank ist für subscribeFunction, der eine Funktion akzeptiert, die nichts zurückgibt

= & gt; () = & gt; void;

// der zweite Trank ist für das Subscribe selbst, da er eine Funktion zurückgibt, die nichts zurückgibt ... und ich stimme zu, Code wie dieser sollte expliziter sein

    
born2net 26.01.2016 18:57
quelle

Tags und Links