deferred.always()【《Deferred 成功処理・失敗処理》共通ハンドラ追加】

メモ

  • Deferred オブジェクト が成功状態 または 失敗状態 へ遷移時に、 呼び出されるハンドラを追加
    • Deferred オブジェクト が返却される為、メソッドチェーンが可能
    • ハンドラの追加順に呼び出し
    • 状態遷移後の追加ハンドラは即時呼び出し
  • その他詳細は、状態管理・非同期処理 (Deferred Object)

構文

説明構文戻り値
《Deferred 成功処理・失敗処理》共通ハンドラ追加 deferred.always( alwaysCallbacks1 [, ... alwaysCallbacksN ] ) 1.6

Function()  | Array Function()  alwaysCallbacks1 ~ alwaysCallbacksN:呼び出しハンドラ
引数説明
任意
戻り値説明
任意
Deferred

関連

<p id="output" style="border:1px black solid; padding:1px 5px;">【出力】</p>

<script>
var funcAlways1 = function(p) { $("#output").append('<br>funcAlways1 ("' + p + '")' ); };
var funcAlways2 = function(p) { $("#output").append('<br>funcAlways2 ("' + p + '")' ); };
var funcAlways3 = function(p) { $("#output").append('<br>funcAlways3 ("' + p + '")' ); };
var funcAlways4 = function(p) { $("#output").append('<br>funcAlways4 ("' + p + '")' ); };
var funcAlways5 = function(p) { $("#output").append('<br>funcAlways5 ("' + p + '")' ); };

var df1 = $.Deferred();
df1.always( funcAlways1, funcAlways2 )
  .always( [ funcAlways3, funcAlways4 ] );
df1.resolve( "resolve" );
df1.always( funcAlways5 );

$("#output").append("<br>");

var df2 = $.Deferred();
df2.always( funcAlways1, funcAlways2 )
  .always( [ funcAlways3, funcAlways4 ] );
df2.reject( "reject" );
df2.always( funcAlways5 );
</script>

【出力】