目前,微信给每一个小程序提供了10M的本地缓存空间(哎哟妈呀好大)javascript
操做 | 异步方法 | 同步方法 |
---|---|---|
插入 | wx.setStorage | wx.setStorageSync |
读取 | wx.getStorage | wx.getStorageSync |
删除 | wx.removeStorage | wx.removeStorageSync |
清空 | wx.clearStorage | wx.clearStorageSync |
获取缓存信息 | wx.getStorageInfo | wx.getStorageInfoSync |
以Sync结尾都是同步方法。同步方法和异步方法的区别是:java
6.下面以插入缓存的两个方法说明同步和异步的区别:算法
Page({
save: function(e){ console.log('开始保存') wx.setStorage({ key: 'key1', data: 'data1', success: function(res){ console.log('异步保存成功') } }) wx.setStorageSync('key2', 'data2') console.log('同步保存成功') } })
执行结果:
小程序
能够看出,同步方法比异步方法先保存成功,说明异步方法没有阻塞当前任务。api
Page({
save: function(e){ console.log('开始保存') wx.setStorageSync('key2', 'data2') console.log('同步保存成功') wx.setStorage({ key: 'key1', data: 'data1', success: function(res){ console.log('异步保存成功') } }) } })
执行结果:
缓存
能够看出,异步方法只有等到同步方法执行成功才会执行。服务器
缓存API提供了一个获取本地缓存信息的接口wx.getStorageInfo,有了它,开发者能够在已有api上再次封装,好比加入缓存时间、不覆盖插入、批量删除、判断当前缓存大小等。微信
最后一个是缓存隔离级别的问题:网络
目前能够推断在真机调试条件下,每一个小程序扫码用户都会分配10M的本地缓存。
以上是我的在真机测试获得的结果,结果不必定彻底准确,仅供参考。异步