Entiendo (algo) que el parámetro de devolución de llamada en la función getJSON es un marcador de posición para una función posterior, pero ¿cómo es que la función anónima que pasa json puede ver/asociar los datos variables si pasa como un argumento? Solo he estado aprendiendo JS durante unas pocas semanas y es bastante intenso.
let people = 'http://api.open-notify.org/astros.json'; let show = document.getElementById('people'); function getJSON(url, callback) { const xhr = new XMLHttpRequest(); xhr.open('GET', url); xhr.onload = () => { if(xhr.status === 200) { let data = JSON.parse(xhr.responseText); return callback(data); } }; xhr.send(); } getJSON(people, (json) => { console.log(json);} );