Maison > interface Web > js tutoriel > Comment obtenir des valeurs à partir de fonctions de rappel asynchrones en JavaScript ?

Comment obtenir des valeurs à partir de fonctions de rappel asynchrones en JavaScript ?

Patricia Arquette
Libérer: 2024-12-29 10:40:11
original
468 Les gens l'ont consulté

How to Get Values from Asynchronous Callback Functions in JavaScript?

Comment gérer les fonctions de rappel asynchrone en JavaScript

Les rappels asynchrones, tels que celui utilisé dans la fonction geocoder.geocode, peuvent le rendre difficile d’en récupérer des valeurs. Ce problème est mis en évidence dans le titre "Comment renvoyer la valeur d'une fonction de rappel asynchrone ?"

Comprendre les rappels asynchrones

Les rappels asynchrones sont des fonctions qui sont exécutées après un certain temps temps indéterminé. Ils sont généralement utilisés lors de l'exécution d'opérations qui ne peuvent pas être effectuées immédiatement, telles que l'envoi de requêtes réseau. En raison de leur nature asynchrone, ils ne peuvent pas être utilisés pour renvoyer directement des valeurs.

Solution : Utiliser un rappel

Pour récupérer des valeurs à partir de rappels asynchrones, une approche alternative consiste à transmettre une fonction de rappel à la fonction asynchrone. Cette fonction de rappel sera exécutée une fois l'opération asynchrone terminée et recevra la valeur souhaitée en paramètre.

Exemple :

Dans le script fourni, le code suivant peut être utilisé pour récupérer la valeur souhaitée à partir du geocoder.geocode function :

function foo(address, callback) {
  geocoder.geocode({ 'address': address }, function (results, status) {
    callback(results[0].geometry.location);
  });
}

foo("address", function (location) {
  alert(location); // This is where you receive the value
});
Copier après la connexion

Remarque :

Il est important de noter que cette solution ne fonctionne qu'avec des fonctions de rappel asynchrones. Pour les fonctions synchrones, les valeurs peuvent être renvoyées directement.

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