缓存数据与数据取得的问题
**# wx.setStorage(OBJECT)**#
将数据存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个异步接口。
![](https://box.kancloud.cn/c3a570edcb53a4613d2ec7f523121a70_1050x162.png)
~~~
product.getSlides(function (result) {
var data = result.data
console.log("首页banner的接口数据", data);
for (var i = 0; i < data.length; i++) {
if (data[i].parent_id == 0) {
index[s] = data[i]
s++
}
}
that.setData({ 'item': index })
wx.setStorage({
key: "indexSlides",
data: data
})
~~~
如果想取出缓存中的数据来用,可用 wx.getStorageSync('indexSlides') 方法
`写法一: var value = wx.getStorageSync('indexSlides')`
写法二:try {
wx.setStorageSync('key', 'value')
} catch (e) {
}
~~~
**wx.getStorageSync(KEY)**#
从本地缓存中同步获取指定 key 对应的内容
~~~
try {
var value = wx.getStorageSync('key')
if (value) {
// Do something with return value
}
} catch (e) {
// Do something when catch error
}
~~~
**wx.setStorageSync(KEY,DATA)**#
将 data 存储在本地缓存中指定的 key 中,会覆盖掉原来该 key 对应的内容,这是一个同步接口。
~~~
try {
wx.setStorageSync('key', 'value')
} catch (e) {
}
~~~
**wx.getStorage(OBJECT)**#
从本地缓存中异步获取指定 key 对应的内容。
~~~
wx.getStorage({
key: 'key',
success: function(res) {
console.log(res.data)
}
})
~~~