Was macht $ .when für ein einzelnes $ .Deferred?

8

Ich versuche, $.when zu verstehen, und ich kann sehen, dass es nützlich sein kann, wenn Sie auf mehrere Deferred warten wollen, bevor Sie fortfahren. Ich bin mir jedoch nicht sicher, ob ich verstehe, was der Anwendungsfall für die Verwendung von $.when mit einem Deferred ist. Zur Veranschaulichung:

%Vor%     
Abdullah Jibaly 06.06.2012, 15:40
quelle

2 Antworten

6

Aus $.when [docs] Dokumentation:

  

Wenn ein einzelner Deferred an jQuery.when übergeben wird, wird sein Promise-Objekt (eine Teilmenge der Deferred-Methoden) von der Methode zurückgegeben.

So $.when(deferred).then(...) ist dasselbe wie deferred.promise().then(...) .

Das Zusicherungsobjekt ist nur eine begrenzte Schnittstelle zum verzögerten Objekt. Es erlaubt Callbacks hinzuzufügen, aber nicht den Status des Deferred zu ändern (auflösen, ablehnen).

Es gibt also keinen wesentlichen Unterschied zwischen der Verwendung von $.when und dem Aufruf von .then direkt für das verzögerte Objekt.

Ich halte es nicht für sinnvoll, ein einzelnes deferred-Objekt explizit an $.when zu übergeben, da Sie keinen Vorteil erhalten. Es kann jedoch Situationen geben, in denen Sie eine unbekannte Anzahl von verzögerten Objekten haben, was bedeutet, dass es auch nur eine sein kann.

    
Felix Kling 06.06.2012, 15:42
quelle
0

Sie können immer .then machen, .then ist nichts anderes als eine Verknüpfung, wenn Sie sowohl .done als auch .fail

verwenden müssen     
Kevin B 06.06.2012 15:42
quelle

Tags und Links