浅谈wx.setStorage和wx.setStorageSync的区别

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' });

执行顺序
在这里插入图片描述

  • 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');

执行顺序
在这里插入图片描述

4.总结

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

你可能感兴趣的:(小程序,javascript,前端,vue.js,小程序)