Latest web development tutorials

jQuery.when()メソッド

jQueryのその他の方法 jQueryのその他の方法

$の.when()に渡されたパラメータは、コールバック関数の実装を受け入れられます

$(ファンクション () {$。ときに( { テスト:123 } )。(完了 関数 (x)は { アラート (Xテスト。);} / *アラート"123" * / );})

»をお試しください

定義と使用法

$ .when()関数は、コールバック関数の1つまたは複数のオブジェクトを実行するための方法を提供します。

ヒント:あなたが遅延jQuery.whenにオブジェクトを渡すと、それは(遅延メソッドのサブセット)プロミスオブジェクトを返します。 他の方法はdefered.then、例えば、プロミスオブジェクトをバインドし続けることができます。 遅延オブジェクトが(通常は初期オブジェクトコード実行の遅れにより作成された)受け入れ(解決)または拒否(拒否)された場合には、対応するコールバック関数を呼び出します。


文法

$.when( deferreds )

参数 描述
deferreds Deferred类型 一个或多个延迟对象,或者普通的JavaScript对象


例

より多くの例


パラメーターを渡さない場合、jQuery.whenは()解決(受け入れ)約束のオブジェクトの状態を返します。

コールバック関数を実行し、任意のパラメータを渡してはいけません

【Mycode3タイプ= "javascriptの"] $(関数(){$ .when()、次に(関数(x)は{警告( "私はすぐに解雇");.});})[/ Mycode3]

»をお試しください

jQuery.when()に渡されたオブジェクトの場合は複数の遅延は、この方法は、すべてのオブジェクトが受諾(解決)を遅延されたときに、この方法は、そのホスト残留オブジェクトを受け付けません残留オブジェクトを新しい "ホスト"を返します。 オブジェクトが(拒否)拒否された遅延がある場合、この方法は、ホスト残留オブジェクトを拒否します。 ホスト・オブジェクトが受け入れられると、doneCallbacksは(コールバックを受け入れる)が実行されます。

遅延着信複数のオブジェクト

【Mycode3タイプ= "javascriptの"] $(関数(){VAR D1 = $ .Deferred(); VAR D2 = $ .Deferred(); $ .when(D1、D2)の.done(関数(V1、V2){アラート(V1); // "魚"の警告(V2); // "ピザ"}); d1.resolve( "魚"); d2.resolve( "ピザ");})[/ mycode3]

»をお試しください

値がオブジェクト(解決)イベントの受信に遅延に渡されていない場合は、対応するdoneCallback引数は未定義になります。 あなたが単一の値として受信(解決)イベントの遅延にオブジェクトを渡すと、対応するパラメータは、その値を保持します。 イベント値の複数に残留オブジェクト(解決)を解決するために渡すには、対応する引数は、これらの値の配列になります。

残留オブジェクトの異なるタイプの着信番号

【Mycode3タイプ= "javascriptの"] $(関数(){VAR D1 = $ .Deferred(); VAR D2 = $ .Deferred(); VAR D3 = $ .Deferred(); $ .when(D1、D2、D3 )の.done(関数(V1、V2、V3){アラート(V1); // v1が未定義アラート(V2)である; // v2はある「ABC」の警告(V3); // V3は配列[1、2です、3、4、5]}); d1.resolve(); d2.resolve( "ABC"); d3.resolve(1、2、3、4、5);})/ mycode3]

»をお試しください

遅延は、オブジェクトの1が(拒否)拒否されている場合、遅延が複数の場合には、jQuery.when()呼び出しはすぐにオブジェクトfailCallbacksコールバック関数を余韻 "ホスト"をトリガします。

コールバック関数の呼び出しfailCallbacks拒否された遅延オブジェクトの複数の1

【Mycode3タイプ= "javascriptの"] $を(関数(){$ .when($。アヤックス( "/ page1.php")、$アヤックス( "/ page2.php"))。次に(関数(データ、textStatus 、jqXHR){アラート(jqXHR.status);}、関数(obj)は{アラート(obj.statusText);});})[/ mycode3]

»をお試しください


jQueryのその他の方法 jQueryのその他の方法