ホームページ >ウェブフロントエンド >jsチュートリアル >jquery Deferred は非同期 callback_jquery の問題を迅速に解決します

jquery Deferred は非同期 callback_jquery の問題を迅速に解決します

WBOY
WBOYオリジナル
2016-05-16 15:06:381202ブラウズ

jquery Deferred は非同期コールバックの問題を迅速に解決します

function ok(name){

  var dfd = new $.Deferred();
  callback:func(){

     return dfd.resolve( response );
  }

  return dfd.promise();
}

$.when(ok(1),ok(2)).then(function(resp1,resp2){})

//関連する API は 3 つのカテゴリに分類されます

カテゴリ 1: $.when(pro1,pro1) は、

の関係にある複数の Promise オブジェクトを 1 つにマージします。

カテゴリ 2: 解決するために Promise がトリガーされる deferred.resolve([ args ] ) deferred.resolveWith( context, [ args ] )

と拒否 .reject .rejectWith

context context は、これと notification .notify .notifyWith

を置き換えます。

カテゴリ 3: 解決された場合は deferred.done(args)、拒否された場合は deferred.fail()、deferred.progress() をトリガーする応答

解決または拒否に関係なく deferred.always()


deferred.then(doneCallbacks,failCallbacks[,progressCallbacks])


Promise (または遅延、遅延オブジェクトの取得方法)

var dfd = new $.Deferred(); return dfd.promise();

Promise の現在のステータスを返します

deferred.state() 保留中 (まだ完了していません) 解決されましたが拒否されました

パイプライン

deferred.pipe( [ doneFilter ], [ failFilter ] ) 


var defer = $.Deferred()

var filtered = defer.pipe( null, function( value ) {

   return value * 3;
});

defer.reject( 6 );
filtered.fail(function( value ) {
   alert( "Value is ( 3*6 = ) 18: " + value );
});

非同期コールバックの問題に対する上記の jquery Deferred の迅速な解決策は、エディターによって共有されたすべての内容です。参考にしていただければ幸いです。また、Script Home をサポートしていただければ幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。