Je rencontre un problème avec la portée d'une variable. Je dois pouvoir accéder à "userLocation" en dehors de "request". Le paquet de demande se trouve à https://github.com/request/request Voici mon code ci-dessous:Problème d'étendue (NodeJS - package "request")
var request = require('request');
var userLocation = "";
request('http://ipinfo.io', function(error, res, body) {
var ipDetails = JSON.parse(body);
userLocation = ipDetails.loc;
});
console.log(userLocation);
Lorsque je tente de sortir la variable « userLocation », elle imprime une chaîne vide au lieu des détails de l'ensemble de la demande.
Salut, merci pour la réponse. Que faire si j'ai besoin d'assigner la valeur de "request" à une variable en dehors de la fonction de requête? – dnesbeth
Est-ce qu'une promesse fonctionnerait pour vous? nouvelle Promesse ((res, rej) => {var résolution = function (myReqValue) { res (myReqValue);} demande ('http://ipinfo.io', fonction (erreur, res , corps) {var ipDetails = JSON.parse (corps); var userLocation = ipDetails.loc; détermination (userLocation); });. }) puis ((res) => { console.log ("Userlocation:" + res) }); – midnightsyntax
@midnightsyntax merci! Cela a fonctionné parfaitement. – dnesbeth