Heim > Web-Frontend > js-Tutorial > Hauptteil

jquery Deferred löst schnell das Problem der asynchronen callback_jquery

WBOY
Freigeben: 2016-05-16 15:06:38
Original
1160 Leute haben es durchsucht

jquery Deferred löst schnell das Problem asynchroner Rückrufe

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){})
Nach dem Login kopieren

//Verwandte APIs sind in 3 Kategorien unterteilt

Kategorie 1: $.when(pro1,pro1) führt mehrere Promise-Objekte in der Beziehung von und zu einem zusammen

Kategorie 2: Versprechen wird ausgelöst, um deferred.resolve([ args ] ) deferred.resolveWith( context, [ args ] ) aufzulösen

und .reject .rejectWith

ablehnen

Kontextkontext ersetzt dies und Benachrichtigung .notify .notifyWith

Kategorie 3: Reaktion auf den Auslöser deferred.done(args) bei Lösung, deferred.fail() bei Ablehnung, deferred.progress()

Unabhängig von Lösung oder Ablehnung deferred.always()


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


Versprechen (oder aufgeschoben, wie erhält man ein aufgeschobenes Objekt?)

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

Gibt den aktuellen Status des Versprechens zurück

deferred.state() ausstehend (noch nicht abgeschlossen) gelöst, abgelehnt

Pipeline

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 );
});
Nach dem Login kopieren

Die obige jquery-Deferred-Schnelllösung für das Problem des asynchronen Rückrufs ist der gesamte vom Herausgeber freigegebene Inhalt. Ich hoffe, dass er Ihnen eine Referenz geben kann, und ich hoffe, dass Sie Script Home unterstützen.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage