Javascript - gibt einen Wert zurück oder verwendet eine Callback-Funktion

8

Ich bin gespannt, was der bessere Stil / der richtige Weg ist, etwas zu tun.

In Javascript konnte ich Folgendes tun:

%Vor%

aber ich könnte ein ähnliches Ergebnis haben, indem ich einfach die Antwort zurücksende:

%Vor%

Ich denke, wenn Sie nur "antworten" brauchen, dann ist es wahrscheinlich besser, die zweite Version zu verwenden und nur diesen Wert zurückzugeben, anstatt eine Callback-Funktion als Parameter usw. zu übergeben. - Ist mein Denken korrekt? Irgendwelche Ideen zur relativen Leistung der beiden? Auch hier würde ich erwarten, dass die Rückgabeversion leistungsmäßig besser ist.

    
Tore Hanssen 09.08.2013, 16:35
quelle

3 Antworten

9

Im Allgemeinen wird eine Callback-Funktion verwendet, wenn die von Ihnen aufgerufene Funktion ein asynchrones Ereignis ausführt (z. B. einen AJAX-Aufruf), das nicht blockierend ausgeführt wird.

Nicht blockierend bedeutet, dass der Code nach dem Aufruf dieser Funktion mit der nächsten Anweisung fortfährt, BEVOR die gerade aufgerufene Funktion ihre Arbeit beendet hat. Daher die Callback-Funktion, in der Sie den Code einfügen, der NACH der nicht blockierenden Funktion ausgeführt werden soll.

Ich würde empfehlen, answer direkt von two zurückzugeben, anstatt einen Callback zu implementieren. Zu viele Rückrufe können zu dem führen, was als bekannt ist Rückruf-Pyramide

    
user1637579 09.08.2013, 16:41
quelle
4

Sie sollten die Rückkehr verwenden.

Callback ist geeignet, wenn Sie asynchrone Aktionen ausführen, sonst sind sie nutzlos Overhead.

    
Simon Boudrias 09.08.2013 16:39
quelle
0

Sie sollten auf jeden Fall einfach zurückgeben. Callbacks sind dafür gedacht, wenn Sie möchten, dass nach Abschluss einer Funktion oder eines asynchronen Ereignisses wie eines Ajax-Aufrufs benutzerdefinierter Code ausgeführt wird.

    
Kevin Bowersox 09.08.2013 16:37
quelle

Tags und Links