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
代码执行顺序:先执行同步,再执行异步
原文链接:https://blog.csdn.net/kaolagirl/article/details/130562410