| 操作 | 异步方法 | 同步方法 |
|---|---|---|
| 插入 | wx.setStorage | wx.setStorageSync |
| 读取 | wx.getStorage | wx.getStorageSync |
| 删除 | wx.removeStorage | wx.removeStorageSync |
| 清空 | wx.clearStorage | wx.clearStorageSync |
| 获取缓存信息 | wx.getStorageInfo | wx.getStorageInfoSync |
以Sync结尾都是同步方法。同步方法和异步方法的区别是:
6.下面以插入缓存的两个方法说明同步和异步的区别:
Page({
save: function(e){
console.log(‘开始保存‘)
wx.setStorage({
key: ‘key1‘,
data: ‘data1‘,
success: function(res){
console.log(‘异步保存成功‘)
}
})
wx.setStorageSync(‘key2‘, ‘data2‘)
console.log(‘同步保存成功‘)
}
})
执行结果:

可以看出,同步方法比异步方法先保存成功,说明异步方法没有阻塞当前任务。
2. 先调用同步方法,再调用异步方法
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的本地缓存。
以上是个人在真机测试得到的结果,结果不一定完全准确,仅供参考。
原文:https://www.cnblogs.com/xiaomeng95/p/12985533.html