jQuery Deferred API
jQuery Deferred APIについて
hifiveの非同期制御で用いるDeferredはjQueryのDeferred APIをベースにしています。
jQueryのDeferred APIで提供されている機能は基本的にすべて利用可能です。
ここではjQuery Deferredの基本的なAPIを紹介します。
deferred.promise
Promiseオブジェクトを返します。
ターゲットを指定すると、そのオブジェクトにPromiseオブジェクトが持つメソッドを付与して返します。
deferred.resolve
Deferred(遅延)がresolve(解決)されると、deferred.thenまたはdeferred.doneによって追加されたdoneCallbacksが呼び出されます。
コールバックは、追加された順序で実行されます。resolveメソッドは可変長引数を取ることができ、指定されたパラメータは登録されたすべてのdoneCallbacksの引数として渡されます。
deferred.done
resolveが実行されると、doneメソッドを使って登録されたdoneCallbacksが追加された順序で実行されます。
deferred.reject
Deferred(遅延)がreject(拒否)されると、deferred.thenまたはdeferred.failによって追加されたfailCallbacksが呼び出されます。
コールバックは、追加された順序で実行されます。rejectメソッドは可変長引数を取ることができ、指定されたパラメータは登録されたすべてのfailCallbacksの引数として渡されます。
deferred.fail
rejectが実行されると、failメソッドを使って登録されたfailCallbacksが追加された順序で実行されます。
deferred.notify
Deferred(遅延)がnotify(通知)されると、deferred.thenまたはdeferred.progressによって追加されたprogressCallbacksが呼び出されます。
コールバックは、追加された順序で実行されます。notifyメソッドは可変長引数を取ることができ、指定されたパラメータは登録されたすべてのprogressCallbacksの引数として渡されます。
deferred.progress
notifyが実行されると、progressメソッドを使って登録されたprogressCallbacksが追加された順序で実行されます。