不能在其他函数中使用一个函数的结果
P粉087951442
P粉087951442 2024-04-01 13:13:20
[JavaScript讨论组]

我有两个功能

  1. convertToBase64(file) 用于转换文件
  2. addData(values) 用于发送转换后的文件。 但第二个函数的结果始终是未定义的。如何解决这个问题?
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函数,但无论如何都找不到解决方案

P粉087951442
P粉087951442

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号