jQueryのdeferred.promise()メソッド
例
遅延時間はランダム2タイマは(解決)を解決するために使用されているされて設定し、拒否(リジェクト)残留オブジェクト
$(ファンクション () {
関数 asyncEvent(){
VAR DFD =新しいです 。繰延jQueryの(); // 解決した後、ランダムな時間間隔(解像度状態)で、
setTimeoutメソッド (関数(){
。DFD解決( "喝采");}、数学床( 400 +数学ランダム()* 2000年));. // ランダムな時間間隔の後拒否(国家を拒否)
setTimeoutメソッド (関数(){
。DFDは、( "申し訳ありません");.}、数学床 拒否 (400 +数学ランダム()* 2000年)); // 第二の「作業... "メッセージをすべての半分を表示します
setTimeoutメソッド (関数 ワーキング (){
もし ( DFD。状態()===「保留 」 ) {
。DFD(「作業... "通知 );のsetTimeout(作業、500);}
}、1); // プロミス オブジェクトを返す、呼び出し側は、残留オブジェクトを変更することはできません
リターン 。DFDの約束();}
// 非同期関数が行われ、失敗し、進捗ハンドラをアタッチ $。ときに( asyncEvent() )。次に、(
機能 (ステータス){
警告 ( ステータス + '、 物事がうまくいっています」 );}、関数(ステータス) {
警告 ( ステータス + '、 あなたが失敗しているこの時間」 );}、関数(ステータス) {$( "身体")追記(ステータス);.}
);})
»をお試しください
定義と使用法
deferred.promise()関数は、繰延(遅延)プロミスオブジェクトを返します。
注:1.この方法は、他のコードの内部の要求(進行)や状態(ステータス)に干渉する進行を防ぐ非同期機能を可能にします。
含有する繰延オブジェクトを含む、2のみのグループ、:行って()、その後、()、(失敗)、isResolved()、常にisRejected()、()、これらの方法は、唯一の繰延状態を観察することができ、変更することはできませんオブジェクトの内部状態を延期。
3. deferred.promiseは()ターゲットパラメータを受け入れることができ、着信目標は、プロミスの方法を与え、その結果、むしろ新しいオブジェクトを作成するより返されます。
文法
deferred.promise( [target ] )
参数 | 描述 |
---|---|
target | Object类型 绑定 promise 方法的对象。 |
より多くの例
標的パラメータを使用
ターゲットパラメータを使用して、既存のオブジェクトの約束を促進