Les rappels attaché done()
sera déclenché lorsque le différé est résolu. Les rappels attaché fail()
sera déclenché lorsque le différé est rejetée.
Avant de jQuery 1.8, then()
était juste sucre syntaxique:
promise.then( doneCallback, failCallback )
// was equivalent to
promise.done( doneCallback ).fail( failCallback )
Que de 1,8 then()
est un alias pour pipe()
et retourne une nouvelle promesse, voir ici pour plus d'informations sur l' pipe()
.
success()
et error()
sont uniquement disponibles sur l' jqXHR
objet renvoyé par un appel à l' ajax()
. Ils sont simples d'alias pour done()
et fail()
respectivement:
jqXHR.done === jqXHR.success
jqXHR.fail === jqXHR.error
Aussi, done()
n'est pas limité à un seul rappel et filtre non-fonctions (même si il y a un bug avec les chaînes à la version 1.8 qui doit être fixé dans la 1.8.1):
// this will add fn1 to 7 to the deferred's internal callback list
// (true, 56 and "omg" will be ignored)
promise.done( fn1, fn2, true, [ fn3, [ fn4, 56, fn5 ], "omg", fn6 ], fn7 );
En va de même pour fail()
.