I'm getting proper text from the method loadFIle. But when I try to set the state using setCodeToBeDsiplayed
with the returned text, its not getting stored. It is giving empty string in the very next line.
const [CodeToBeDsiplayed, setCodeToBeDsiplayed] = useState("")
const [codeVersion, setCodeVersion] = useState(exampleCodeJava8);
useEffect( () => {
(async()=>{
var text=await loadFile(exampleCodeJava8);
setCodeToBeDsiplayed(text);
setCodeVersion(CodeToBeDsiplayed);
})()
}, [])
loadFile()
async function loadFile(url) {
console.log("Dowloading file : " + url);
return new Promise((resolve,reject)=>{
var json;
var xhr = new XMLHttpRequest();
xhr.responseType = 'text';
xhr.onload =(event)=>{
json = xhr.response;
console.log("json : " + json);
resolve(json);
};
xhr.error=(error)=>{
reject(error);
}
xhr.open('GET', url);
xhr.send();
});