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
Linda Hamiltonoriginal
2024-11-27 07:24:11321parcourir

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);
        }
      }
    });
  }
}
  • 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);
});

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!

Déclaration:
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