Cara ES6 modern (async / menunggu)
const toBase64 = file => new Promise((resolve, reject) => {
const reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = () => resolve(reader.result);
reader.onerror = error => reject(error);
});
async function Main() {
const file = document.querySelector('#myfile').files[0];
console.log(await toBase64(file));
}
Main();
UPD:
Jika Anda ingin menangkap kesalahan
async function Main() {
const file = document.querySelector('#myfile').files[0];
const result = await toBase64(file).catch(e => Error(e));
if(result instanceof Error) {
console.log('Error: ', result.message);
return;
}
//...
}
await
suatu fungsi yang mengembalikan Janji yang ditolak, Anda tidak akan mendapatkan Kesalahan yang dikembalikan oleh panggilan; itu akan dibuang dan Anda harus menangkapnya.