ljhasn 2021-03-01 16:38 采纳率: 33.3%
浏览 126

小程序云开发怎么获取云数据库的详情信息并存入本地缓存中

js配置


Page({


  data: {


    goodlist: [],


  },


  onShow: function () {


    // 获取赛事详情数据


    let pages = getCurrentPages();


    let currentPage = pages[pages.length - 1];


    let options = currentPage.options;


    let goodid = options.id;


    // console.log(goodid)


    const db = wx.cloud.database();


    db.collection('addlist').where({


        _id: goodid, //查询addlist集合中字段_id为goodid的值


      })


      .get({


        success: res => {


          this.setData({


            goodlist: res.data[0],

          })
        console.log(res.data[0])


        },


        fail(err) {


          console.log("查询失败", err);


        }


      })


  },


    // 把数组存入到缓存中


    wx.setStorageSync("goodlist", goodlist);


  }


})

上面是可以打印出res.data[0]的

然后想将它写进本地缓存中实现下一步操作

APPdata里面有

storage里面没

  • 写回答

1条回答 默认 最新

  • lshen01 2023-03-16 14:11
    关注

    参考GPT和自己的思路:

    根据您提供的代码,将获取到的数据存入本地缓存的代码应该在success回调函数中,即在setData之后。具体修改如下:

    const db = wx.cloud.database();
    const that = this;
    db.collection('addlist').where({
        _id: goodid,
    }).get({
        success: res => {
            that.setData({
                goodlist: res.data[0],
            })
            console.log(res.data[0])
            wx.setStorageSync("goodlist", res.data[0]); // 将数据存入本地缓存
        },
        fail: err => {
            console.log("查询失败", err);
        }
    })
    

    同时,需要注意的是,在存入本地缓存之前,需要将获取到的数据赋值给一个变量,这里使用了that来代替this,避免在异步回调函数中出现this指向问题。

    评论

报告相同问题?

悬赏问题

  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突