收藏
回答

云开发上传多张图片获取file ID到数组通过db.collection().add上传,显示为空

框架类型 问题类型 终端类型 AppID 环境ID 基础库版本
小程序 Bug 工具 wx6939f503555cbac6 blackwatch-ic1mp 2.8.1

问题已经解决,上传图片时,由于是默认异步进行,通过upload 返回的时候,他是异步执行,没等返回结果赋值给数组他就执行下一步了,需要使用async await来对函数进行同步执行有 async function(){} 与 name:async function(){}两种用法。upload函数前面加上await,还有要注意!!!对Callback 风格不支持,要用Promise 风格,感谢

@阿浩🐔 。。。的帮助,这里果然有个巨坑

最后一次编辑于  2020-02-28
回答关注问题邀请回答
收藏

4 个回答

  • 拎包哥
    拎包哥
    2020-03-01

    哈哈哈,加油哦

    2020-03-01
    有用 2
    回复 2
    • Choice
      Choice
      2020-03-01
      又有新问题可以请教你吗?哈哈
      2020-03-01
      回复
    • 拎包哥
      拎包哥
      2020-03-01回复Choice
      可以啊,不过一般最好晚上找我吧哈哈哈
      2020-03-01
      回复
  • Choice
    Choice
    2020-02-28

    2020-02-28
    有用 1
    回复 6
    • Choice
      Choice
      2020-02-28
      这个是字符串数组吧,我的fabu_images定义的也是[],还是存不进去
      2020-02-28
      回复
    • Choice
      Choice
      2020-02-28回复Choice
      2020-02-28
      回复
    • 拎包哥
      拎包哥
      2020-02-28
      你在你的方法前加个async 再像我图片那样在wx.cloud.uploadFile前加个await,看看有没有奇效嘿嘿嘿。。。
      2020-02-28
      1
      回复
    • Choice
      Choice
      2020-02-28回复拎包哥
      直接页面全白了。。。
      2020-02-28
      回复
    • Choice
      Choice
      2020-02-28回复拎包哥
      是push(res.fileID)的问题吗
      2020-02-28
      回复
    查看更多(1)
  • Mr.Yang
    Mr.Yang
    2020-04-03

    楼主怎么解决的,我没看懂

    2020-04-03
    有用
    回复 2
    • Choice
      Choice
      2020-04-04
      用我发的那个Promise做,因为这里涉及到异步,你可以百度下异步
      2020-04-04
      回复
    • 金汤力
      金汤力
      2020-07-09回复Choice
      楼主 请问,真机上传云函数图片报超过大小限制,怎么解决.图片只有100kb.开发工具就正常
      2020-07-09
      回复
  • 良逸
    良逸
    2020-02-28
    这个可能是变量作用域的问题吧,你在函数体内改变变量的值,对函数体外不起作用呀,undefined指没有传入任何数据
    2020-02-28
    有用
    回复 2
    • Choice
      Choice
      2020-02-28
      但是我换成this.data.images(data里面定义的数组)就能传入
      2020-02-28
      回复
    • Choice
      Choice
      2020-02-28
      主要是为什吗   console.log(fileid)有两个字符数组console.log(fileid[0]);显示未定义
      2020-02-28
      回复
登录 后发表内容
问题标签