我有兩個功能
async function convertToBase64(file) { const fileReader = new FileReader(); fileReader.onload = () => { const srcData = fileReader.result; console.log('scrData: ', srcData); // result is correct return srcData; }; fileReader.readAsDataURL(file); } async function addData(values) { const converted = await convertToBase64(values.file); console.log(converted); // result undefined await addDoc(collection(db, 'list'), { image: converted, }); }
我嘗試過try...catch、async-await函數,但無論如何都找不到解決方案
convertToBase64()
函數不會明確傳回值,因此您提供的程式碼總是會傳回undefined
。您可以更改函數,使其傳回一個Promise,一旦resolves " rel="nofollow noreferrer">FileReader 已成功讀取base64 中的文件,並處理任何reject
ions 或發生的錯誤: