微信小程序 數據緩存實現方法詳解
微信小程序可以通過wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)對本地緩存進行設置、獲取和清理。本地緩存最大為10MB。
wx.setStorage()---------異步設置緩存
微信官方給出的屬性
OBJECT參數說明:
參數 | 類型 | 必填 | 說明 |
---|---|---|---|
key | String | 是 | 本地緩存中的指定的 key |
data | Object/String | 是 | 需要存儲的內容 |
success | Function | 否 | 接口調用成功的回調函數 |
fail | Function | 否 | 接口調用失敗的回調函數 |
complete | Function | 否 | 接口調用結束的回調函數(調用成功、失敗都會執(zhí)行) |
調用方式:
wx.setStorage({ key:"key", data:"value" })
wx.setStorageSync()---------同步設置緩存
微信官方給出的屬性
參數說明:
參數 | 類型 | 必填 | 說明 |
---|---|---|---|
key | String | 是 | 本地緩存中的指定的 key |
data | Object/String | 是 | 需要存儲的內容 |
調用方式:
try { wx.setStorageSync('key', 'value') } catch (e) { }
wx.getStorage()--------異步獲取緩存
微信官方給出的屬性
OBJECT參數說明:
參數 | 類型 | 必填 | 說明 |
---|---|---|---|
key | String | 是 | 本地緩存中的指定的 key |
success | Function | 是 | 接口調用的回調函數,res = {data: key對應的內容} |
fail | Function | 否 | 接口調用失敗的回調函數 |
complete | Function | 否 | 接口調用結束的回調函數(調用成功、失敗都會執(zhí)行) |
success返回參數說明:
參數 | 類型 | 說明 |
---|---|---|
data | String | key對應的內容 |
調用方式:
wx.getStorage({ key: 'key', success: function(res) { console.log(res.data) } })
wx.getStorageSync()--------同步獲取緩存數據
微信官方給出的屬性說明
參數說明:
參數 | 類型 | 必填 | 說明 |
---|---|---|---|
key | String | 是 | 本地緩存中的指定的 key |
調用方式:
try { var value = wx.getStorageSync('key') if (value) { // Do something with return value } } catch (e) { // Do something when catch error }
wx.getStorageInfo()------異步獲取當前緩存的數據
微信官方給出的屬性說明
OBJECT參數說明:
參數 | 類型 | 必填 | 說明 |
---|---|---|---|
success | Function | 是 | 接口調用的回調函數,詳見返回參數說明 |
fail | Function | 否 | 接口調用失敗的回調函數 |
complete | Function | 否 | 接口調用結束的回調函數(調用成功、失敗都會執(zhí)行) |
success返回參數說明:
參數 | 類型 | 說明 |
---|---|---|
keys | String Array | 當前storage中所有的key |
currentSize | Number | 當前占用的空間大小, 單位kb |
limitSize | Number | 限制的空間大小,單位kb |
調用方式:
wx.getStorageInfo({ success: function(res) { console.log(res.keys) console.log(res.currentSize) console.log(res.limitSize) } })
wx.getStorageInfoSync()-------同步獲取當前緩存數據
emmmmm---微信并沒有給參數說明
調用方式:
try { var res = wx.getStorageInfoSync() console.log(res.keys) console.log(res.currentSize) console.log(res.limitSize) } catch (e) { // Do something when catch error }
wx.removeStorage()-----異步移除指定的key的緩存數據
微信官方參數說明
OBJECT參數說明:
參數 | 類型 | 必填 | 說明 |
---|---|---|---|
key | String | 是 | 本地緩存中的指定的 key |
success | Function | 是 | 接口調用的回調函數 |
fail | Function | 否 | 接口調用失敗的回調函數 |
complete | Function | 否 | 接口調用結束的回調函數(調用成功、失敗都會執(zhí)行) |
調用方式:
wx.removeStorage({ key: 'key', success: function(res) { console.log(res.data) } })
wx.removeStorageSync()------同步移除指定key的緩存數據
微信官方參數說明
參數說明:
參數 | 類型 | 必填 | 說明 |
---|---|---|---|
key | String | 是 | 本地緩存中的指定的 key |
調用方式:
try { wx.removeStorageSync('key') } catch (e) { // Do something when catch error }
wx.clearStorage()------異步清理本地緩存
調用方式:
wx.clearStorage()
wx.clearStorageSync()-------同步清理本地緩存
調用方式:
try { wx.clearStorageSync() } catch(e) { // Do something when catch error }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
js 優(yōu)化次數過多的循環(huán) 考慮到性能問題
IE沒有我們想象中笨,它知道總的循環(huán)次數還是一千萬次。因此,得把這一百個十萬次循環(huán)分開執(zhí)行。雖然Javascript是單線程的,但也可以通過setTimeout或setInterval模擬多線程。2011-03-03