微信小程序云开发常见错误总结.

 

目录

 一 使用API访问云数据库时where条件

二 使用API操作云数据库时是异步的

三 代码包大小超限.


 一 使用API访问云数据库时where条件

1.使用API访问云数据库时where条件里千万不能为underfind,否则会卡死.

 db.collection('user').where({
      _openid: openId
    })

如此时的openId一定不能是underfind. 

二 使用API操作云数据库时是异步的

2.使用API操作云数据库时是异步的,此时会将访问任务加入对列,等下方其他语句先执行然后再操作数据库.因此若在操作云数据库时的回调里setdata新数据,然后在操作数据库函数的下边并列调用API操作数据库,此时where不能是上方的新setdata的数据.因为此时回调函数还未执行.

 

正确写法:应将第二次操作数据库封装成函数,在第一次的回调函数里调用,或直接将代码写入第一次的回调里去执行.

      success(res) {
        if (res.confirm) {
          wx.showLoading({
            title: '数据加载中...',
          });
          const db = wx.cloud.database({ // 链接数据表
            env: ""
          });
          //收藏列表字符串处理
          var delete_id = that.data.list[e.currentTarget.dataset.index]._id
          var arrCollectionstr = that.options.collectionstr.split(',')
          var new_collectionstr = ''
          for (let index = 0; index < arrCollectionstr.length; index++) {
            if (arrCollectionstr[index] != delete_id) {
              new_collectionstr += arrCollectionstr[index]
              if (index != arrCollectionstr.length - 1) {
                new_collectionstr += ','
              }
            }
          }
          //修改user数据库
          db.collection('user').where({
            _openid: that.data.openid
          }).update({
            data: {
              Collection: new_collectionstr
            },
            success: function (res) {
              wx.showToast({
                title: "三合窗帘:修改成功,请您返回后重新加载", // 提示的内容
                icon: "none", // 图标,默认success
                image: "", // 自定义图标的本地路径,image 的优先级高于 icon
                duration: 3000, // 提示的延迟时间,默认1500
                mask: false, // 是否显示透明蒙层,防止触摸穿透
              })
              wx.hideLoading();
            }
          })
        }
      }

注:若该操作具有可重复性建议封装为函数,这样便于后期维护.且防止出现操作数据库而写出连续多层套娃情况.

三 代码包大小超限.

建议将除了体积特别小的图标直接放入代码包外,其他所有图片建议直接放入云储存,调用时src直接填写生成为http地址,这样能够有效减小代码包体积,另外需注意的是当图片放入云储存后生成的http地址有效期和权限有关,若是仅创建者可读,则有效期为一个月,若是所有人可读,有效期为永久.

 

posted @   冷月半明  阅读(78)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示