javascript - Comment transmettre les paramètres de fermeture de rappel aux variables d'environnement externes dans JS
typecho
typecho 2017-07-05 10:59:29
0
3
886

Comme dans la question, comment transmettre les données des paramètres formels dans la fermeture aux variables externes

var outer;
var map = new BMap.Map("allmap");
var point = new BMap.Point(116.331398,39.897445);
var gc = new BMap.Geocoder();
gc.getLocation(point, function(rs){
   var addComp = rs.addressComponents;
    //how to store this string to variable outer;
   //outer = addComp.province + ", " + addComp.city + ", " + addComp.district + ", " +      addComp.street + ", " + addComp.streetNumber);
});

L'utilisation de l'affectation ne peut garantir que les données contenues dans la fermeture sont valides, et elles seront invalides après la sortie. L'utilisation de new pour allouer de la mémoire n'a aucun effet. Je manque de temps et je n'ai pas le temps d'apprendre JS, donc je n'ai pas honte de le faire. demander segmentfault>3<

typecho
typecho

Following the voice in heart.

répondre à tous(3)
phpcn_u1582

用ajax async:false但是问题依旧? Postez le code et jetez un œil. Selon le bon sens, ça devrait aller.
Autres méthodes
1 : Les valeurs asynchrones et la logique liée aux valeurs asynchrones peuvent être traitées dans la logique de promesse d'alors.
2 : Utilisez le générateur et l'écriture de synchronisation de rendement pour traiter votre logique
3 : Vous pouvez également utiliser directement la fonction asynchrone.

淡淡烟草味

Votre méthode d'attribution de code est correcte. Le soi-disant [invalide après la sortie] peut être un problème de flux de contrôle comme celui-ci :

var x = 0
setTimeout(() => {
  // 这里 x 是 1
  x = 1
}, 1000)

// 这里 x 还是 0
console.log(x)

La variable gc.getLocation 如果和上面的示例一样,是一个异步调用,那么就不能按照代码书写顺序来保证代码执行顺序了。因此如果直接在后续的代码中访问 outer dans votre code est susceptible d'obtenir l'ancienne valeur avant la fin de l'appel asynchrone.

阿神

Vous pouvez maintenant définir une variable externe à l'extérieur, comme le type d'objet, puis la transmettre en tant que paramètre en attribuant une valeur à l'objet en interne, vous pouvez transférer la valeur vers l'extérieur

.
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal