小程序wx.setStorage和wx.setStorageSync区别

微信   2025-01-04 09:24   90   0  

1.同步和异步区别

    同步:同步是当在执行一段代码时,必须要等这段代码执行完成后,才能执行后面的代码

    异步:异步就是这段执行完不完成,都可以往后继续执行


2.wx.setStorage和wx.setStorageSync的区别

wx.setStorageSync:当你后面的操作必须依赖于修改storage后的数据,也就是说你后面的操作是基于修改storage成功后的,那就需要使用同步。也就是setStorageSync,不然后面操作执行时,使用的还是没有更新的数据。

wx.setStorage:当你后面的操作并不需要用到修改的storage数据,那就不需要立即同步,这时就可以选择使用异步,也就是setStorage ,因为操作内存是需要时间的,往往没有代码走的快。


3. 举例

//设初始值
  onLoad(options) {
    wx.setStorageSync('tobu', '同步');
    wx.setStorage({ key: 'yibu', data: '异步' });
  },
wx.setStorageSync
    console.log('同步1');
    console.log('旧值', wx.getStorageSync('tobu'));
    wx.setStorageSync('tobu', '同步-改变中');
    console.log('新值', wx.getStorageSync('tobu'));
    console.log('同步2');
    wx.setStorage({ key: 'yibu', data: '异步-改变中1' });

执行顺序

    同步1

    旧值 同步-改变中

    新值 同步-改变中

    同步2


wx.setStorage 

console.log('异步1');
    wx.getStorage({
        key: 'yibu',
        success(res) {
          console.log('旧值',res.data);
        },
      });
    wx.setStorage({ key: 'yibu', data: '异步-改变中2' });
    wx.getStorage({
      key: 'yibu',
      success(res) {
        console.log('新值',res.data);
      },
    });
    console.log('异步2');

执行顺序

    异步1

    异步2

    旧值 异步-改变中1

    新值 异步-改变中2


4.总结

  • 代码执行顺序:先执行同步,再执行异步



                        

原文链接:https://blog.csdn.net/kaolagirl/article/details/130562410


博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。