Maison > interface Web > js tutoriel > jquery Deferred résout rapidement le problème du callback_jquery asynchrone

jquery Deferred résout rapidement le problème du callback_jquery asynchrone

WBOY
Libérer: 2016-05-16 15:06:38
original
1175 Les gens l'ont consulté

jquery Deferred résout rapidement le problème des rappels asynchrones

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){})
Copier après la connexion

//Les API associées sont divisées en 3 catégories

Catégorie 1 : $.when(pro1,pro1) fusionne plusieurs objets de promesse en un seul dans la relation de et

Catégorie 2 : la promesse est déclenchée pour résoudre deferred.resolve([ args ] ) deferred.resolveWith( context, [ args ] )

et rejeter .reject .rejectWith

le contexte contextuel remplace ceci et la notification .notify .notifyWith

Catégorie 3 : Réponse au déclencheur deferred.done(args) en cas de résolution, deferred.fail() en cas de rejet, deferred.progress()

Indépendamment de la résolution ou du rejet différé.always()


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


Promesse (ou différé, comment obtenir un objet différé ?)

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

Renvoyer l'état actuel de la promesse

deferred.state() en attente (pas encore terminé) résolu rejeté

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 );
});
Copier après la connexion

La solution rapide jquery Deferred ci-dessus au problème du rappel asynchrone est tout le contenu partagé par l'éditeur. J'espère qu'il pourra vous donner une référence et j'espère que vous soutiendrez Script Home.

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal