在开发过程中有些数据是需要缓存到小程序本地的,数据一般存字符串的场景比较多,当然可以可以存Obeject,比如JSON对象,小程序本身提供了5对关于缓存操作的方法。
wx.setStorage(wx.setStorageSync)
wx.getStorage(wx.getStorageSync)
wx.clearStorage(wx.clearStorageSync)
wx.getStorageInfo(wx.getStorageInfoSync)
wx.removeStorage(wx.removeStorageInfoSync)
依次是保存、获取、清空、获取所有、清除。同一个微信用户,同一个小程序 storage 上限为 10MB。本质上是使用的localStorage进行存储的。这几个方法可以根据需要使用。这是比较简单的。
如果是相同的key,会覆盖掉原来该 key 对应的内容。一个key对应一个value。带Sync与不带Sync只是对数据操作的过程。异步的可以通过success、fail、complete这三个方法来查看数据处理过程。
重点说的一下每一个方法后面Sync,这个表示的“同步”的意思,与之相对的不带后缀的“异步”。这算是一个五星词汇,不是编程领域的人一般不会用到这个词汇。同步与异步是指的消息通讯机制。就是信息传来传去的时候是同步还异步。重点强调的是通讯这个动作。举例说明一下,比如要请求用户信息的时候,需要从缓存中获取iduser这个变量,那只有获取到这个变量才能进行下一步。那就应该使用wx.getStorageSync。这样能确保一定能获取到这个变量。
说个大白话的例子。比如打电话给前台,帮忙查询一个快递,如果电话没有挂,你在这边一直等待,等前台MM查完告诉你有没有,这叫“同步”。如果前台妹子说等会给你回信,电话挂了这叫“异步”。
把同步和异步的概念搞清,那么同样的方式可以触类旁通。
来思考个问题:什么是“单线程”、“多线程”、“阻塞”、“非阻塞”。