收藏
回答

微信缓存取值问题

for (var i = 0; i < qiang.length; i++) {
 
              doommList.push(new Doomm(qiang[i].text, Math.ceil(Math.random() * 100), Math.ceil(Math.random() * 10), qiang[i].color, qiang[i]._id));
              page.setData({
                doommData: doommList
              })
              console.log("xunhuan ",wx.getStorageSync('pd'));
              if (wx.getStorageSync('pd')>0){
              break;
             }
               
            }

这个是子页面的一个死循环代码,我想着返回上一页的时候吧这个缓存pd变成1,这个死循环不就停止了么,但是。。。在上个页面打印的是1,在这个还在循环的函数打印出来却还是0,这是为什么,为啥取到的还是以前的缓存啊

回答关注问题邀请回答
收藏

4 个回答

  • 默诵誓言
    默诵誓言
    2019-02-14

    可以换个思路测试下,不要读缓存,虽然你用的同步,用app.globalData试试,还有setData最好不要放到循环里面。

    2019-02-14
    有用
    回复
  •  ㅤ
     ㅤ
    2019-02-14

    循环页面

    onUnload/onHide

    : function(){

       wx.setStorageSync('pd', 1);

       console.log("xiugai",wx.getStorageSync('pd'));

     }



    2019-02-14
    有用
    回复
  • 卢霄霄
    卢霄霄
    2019-02-13

    哈哈哈哈 他一直在循环里 根本不会执行你把pd设为1的操作哦。。js的单线程特色~

    2019-02-13
    有用
    回复 15
    • 2019-02-13

      但是返回上个页面的时候设置了一下,在上个页面里打印出来是1啊,就算他是单线程取缓存的时候他应该是取的新的啊,不是跟全局变量一样么,返回上个页面代码

      onShow: function(){
          wx.setStorageSync('pd', 1);
          console.log("xiugai",wx.getStorageSync('pd'));
        }


      2019-02-13
      回复
    • 卢霄霄
      卢霄霄
      2019-02-13回复

      能做个代码片段吗

      https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

      2019-02-13
      回复
    • 2019-02-13回复

      我好像掉进我的思路里爬不出来了,求赶紧把我刷新一边

      2019-02-13
      回复
    • 2019-02-13回复卢霄霄

      wechatide://minicode/a07de76a27e3e7836c4ea39d72f75eda

      这样就行了么


      2019-02-13
      回复
    • 2019-02-13回复

      好像不是


      2019-02-13
      回复
    查看更多(10)
  • 2019-02-13

    有没有大佬解释下啊,求解释

    2019-02-13
    有用
    回复 1
    • 顾涛
      顾涛
      2019-02-15

      同求

      2019-02-15
      回复
登录 后发表内容