Я пытаюсь прочитать загруженный пользователем файл и преобразовать его в строку. У меня есть 2 функции, чтобы сделать это.
handleFileInput
handleFileInput(event){
setTimeOut(async()=>{
let abcd= await this.convertFileToString(this.file) //the file has been uloaded successFully at this point
console.log(abcd) //this prints the enitre fn given in the resolve method
},3000)
}
convertFileToString
convertFileToString(file){
return new Promise((resolve, reject)=>{
let fileReader = new FileReader();
fileReader.readAsText(file);
resolve(fileReader.onload = (event) =>{
this.XMLAsString=fileReader.result as String
})
})
}
Когда я печатаю значение abcd
в консоли я получаю так:
ƒ (event) {
_this.XMLAsString = fileReader.result;
}
Я довольно новичок в концепции async/await
и Promises
и понимаю, что обещание - это единственная асинхронная вещь, которую я могу ждать. Я хочу, чтобы значение загруженного файла (преобразованное в строку) было сохранено в переменной abcd
. как я могу получить значение? Или, если мне нужно вернуть обещание, то как мне получить доступ к значению файла, считанного как String, и сохранить его в abcd
?