El siguiente código funciona para enviar una solicitud GET API. Devuelve datos para el nombre de una empresa en formato JSON HAL dentro de la función 'httpGet(name)'. El comando console.log(http.response) registra el resultado esperado. Sin embargo, el retorno posterior http.response devuelve 'indefinido' cuando se llama en otra función.
¿Alguien podría explicar qué estoy (obviamente) haciendo mal? ¡Muy apreciado!
function httpGet(name) { const http = new XMLHttpRequest(); const url = "https://api.overheid.io/suggest/openkvk/" + name + "?ovio-api-key=MYKEY" // MYKEY is equal to my API key http.open("GET", url); http.send(); //http.onload = () => console.log(http.response); http.onload = function() { let text = http.response var id = text.split('id":"')[1] id = id.split('",')[0] const url = "https://api.overheid.io/openkvk/" + id + "?ovio-api-key=MYKEY" // MYKEY is equal to my API key http.open("GET", url); http.send(); http.onload = () => console.log(http.response); //returns the correct http.response as a JSON HAL repsonse return http.response; // returns undefined when the function is called. Example (other function): console.log(httpGet('Heineken')) returns 'undefined' } }