ちょっとみてみました。

$.Deferred()で取得できるDeferredオブジェクト

主要な関数は

.done()

.resolve()されたときに実行する関数を登録する

.fail()

.reject()されたときに実行する関数を登録する

.then()

第一引数に.resolve()されたときに実行する関数、

第二引数に.reject()されたときに実行する関数を設定する

(米)内部的にdone()とfail()が実行される

.resolve()

.done()で登録した関数をすべて実行する

.reject()

.fail()で登録した関数をすべて実行する

 

ふむふむ、なるほど。