Aquí el valor devuelto no está definido en la variable b. Porque estoy tratando de devolver un valor de función anidado, supongo. ¿Cómo puedo devolver el valor de x desde la función de accionamiento aquí?
function drive() { let xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function(){ if(this.readyState == 4 && this.status == 200){ var x = JSON.parse(this.response); console.log(x); return x; // return 1; } } xhttp.open("GET","https://api.openweathermap.org/data/2.5/find?q=Chennai&appid=0d0a354784e8166b7b9fee6a3a29bcc2&units=metric"); xhttp.send(); } document.getElementById("clickme").addEventListener("click", function () { let b = drive(); console.log(b); })