Why my function doesn't return true? it returns undefined
Here is my code:
const generateJson = () => {
var url = "https://api.insee.fr/entreprises/sirene/V3/siret/32773318400516";
const xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.setRequestHeader("Accept", "application/json");
xhr.setRequestHeader("Authorization", "Bearer 54cb0781-a0ea-3d5b-9e81-f18ac252dfa4");
xhr.onreadystatechange = () => {
if (xhr.readyState === XMLHttpRequest.DONE) {
console.log(xhr.status);
console.log(xhr.response);
return true;
} else {
return false;
}
}
xhr.send();
}
console.log(typeof(generateJson()));
here is a part of my output:
undefined
200
{"header":{"statut":200,"message":"ok"},"etablissement":{"siren":"327733184","nic":"00516","siret":"32773318400516","statutDiffusionEtablissement":"O","dateCreationEtablissement":"2009-06-26","trancheEffectifsEtablissement":"42","anneeEffectifsEtablissement":"2019","activitePrincipaleRegistreMetiersEtablissement":null,"dateDernierTraitementEtablissement":"2021-10-27T08:26:07","etablissementSiege":true,"nombrePeriodesEtablissement":2,"uniteLegale":{"etatAdministratifUniteLegale":"A","statutDiffusionUniteLegale":"O","dateCreationUniteLegale":"1983-04-01","categorieJuridiqueUniteLegale":"5710","denominationUniteLegale":"MICROSOFT FRANCE"
What is the solution please?