Maison > interface Web > js tutoriel > Comment puis-je gérer les valeurs de retour d'appel AJAX asynchrones ?

Comment puis-je gérer les valeurs de retour d'appel AJAX asynchrones ?

Linda Hamilton
Libérer: 2024-11-27 07:24:11
original
365 Les gens l'ont consulté

How Can I Handle Asynchronous AJAX Call Return Values?

Appels AJAX asynchrones et retour de variable

Dans la programmation asynchrone, comme avec les appels AJAX, la variable renvoyée par la fonction n'est pas immédiatement disponible car l'appel lui-même l'est pas exécuté immédiatement. Dans le cas des appels AJAX, l'appel est effectué de manière asynchrone, ce qui signifie qu'il s'exécute en arrière-plan pendant que le reste du code continue de s'exécuter.

Le problème auquel vous êtes confronté est que la fonction get_data dans le code fourni essaie pour renvoyer directement le résultat de l’appel AJAX. Cependant, comme l'appel est asynchrone, la fonction ne peut pas attendre le résultat avant de revenir.

Solution : Utilisation de rappels

Pour résoudre ce problème, la fonction get_data doit être modifiée pour utiliser un rappel fonction. Une fonction de rappel est une fonction qui est transmise à une autre fonction en tant qu'argument et est exécutée plus tard, une fois la première fonction terminée.

Dans le code révisé :

function get_data(data, destination, callback) {
  if (lock_get == 0) {
    lock_get = 1;
    $.ajax({
      type: "POST",
      url: destination,
      async: true,
      data: data,
      success: function(data) {
        lock_get = 0;
        if (data && callback) {
          callback(data);
        }
      }
    });
  }
}
Copier après la connexion
  • La fonction get_data accepte désormais un paramètre supplémentaire, callback, qui est une fonction qui sera exécutée une fois l'appel AJAX terminé.
  • Dans le rappel de réussite, le La fonction de rappel est appelée avec le résultat de l'appel AJAX comme argument.

Pour appeler la fonction get_data avec un rappel :

get_data(data, destination, function(test) {
  notice(test);
});
Copier après la connexion

Dans cet exemple, une fonction de rappel anonyme est utilisé pour gérer le résultat de l’appel AJAX. Le résultat de l'appel sera transmis à la fonction de notification.

En utilisant un rappel, la fonction get_data peut lancer l'appel AJAX et revenir immédiatement, tandis que la fonction de rappel sera exécutée plus tard lorsque le résultat sera disponible.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal