微信小程序 數(shù)據(jù)緩存實(shí)現(xiàn)方法詳解
微信小程序可以通過wx.setStorage(wx.setStorageSync)、wx.getStorage(wx.getStorageSync)、wx.clearStorage(wx.clearStorageSync)對(duì)本地緩存進(jìn)行設(shè)置、獲取和清理。本地緩存最大為10MB。
wx.setStorage()---------異步設(shè)置緩存
微信官方給出的屬性
OBJECT參數(shù)說明:
| 參數(shù) | 類型 | 必填 | 說明 |
|---|---|---|---|
| key | String | 是 | 本地緩存中的指定的 key |
| data | Object/String | 是 | 需要存儲(chǔ)的內(nèi)容 |
| success | Function | 否 | 接口調(diào)用成功的回調(diào)函數(shù) |
| fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
| complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行) |
調(diào)用方式:
wx.setStorage({
key:"key",
data:"value"
})
wx.setStorageSync()---------同步設(shè)置緩存
微信官方給出的屬性
參數(shù)說明:
| 參數(shù) | 類型 | 必填 | 說明 |
|---|---|---|---|
| key | String | 是 | 本地緩存中的指定的 key |
| data | Object/String | 是 | 需要存儲(chǔ)的內(nèi)容 |
調(diào)用方式:
try {
wx.setStorageSync('key', 'value')
} catch (e) {
}
wx.getStorage()--------異步獲取緩存
微信官方給出的屬性
OBJECT參數(shù)說明:
| 參數(shù) | 類型 | 必填 | 說明 |
|---|---|---|---|
| key | String | 是 | 本地緩存中的指定的 key |
| success | Function | 是 | 接口調(diào)用的回調(diào)函數(shù),res = {data: key對(duì)應(yīng)的內(nèi)容} |
| fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
| complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行) |
success返回參數(shù)說明:
| 參數(shù) | 類型 | 說明 |
|---|---|---|
| data | String | key對(duì)應(yīng)的內(nèi)容 |
調(diào)用方式:
wx.getStorage({
key: 'key',
success: function(res) {
console.log(res.data)
}
})
wx.getStorageSync()--------同步獲取緩存數(shù)據(jù)
微信官方給出的屬性說明
參數(shù)說明:
| 參數(shù) | 類型 | 必填 | 說明 |
|---|---|---|---|
| key | String | 是 | 本地緩存中的指定的 key |
調(diào)用方式:
try {
var value = wx.getStorageSync('key')
if (value) {
// Do something with return value
}
} catch (e) {
// Do something when catch error
}
wx.getStorageInfo()------異步獲取當(dāng)前緩存的數(shù)據(jù)
微信官方給出的屬性說明
OBJECT參數(shù)說明:
| 參數(shù) | 類型 | 必填 | 說明 |
|---|---|---|---|
| success | Function | 是 | 接口調(diào)用的回調(diào)函數(shù),詳見返回參數(shù)說明 |
| fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
| complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行) |
success返回參數(shù)說明:
| 參數(shù) | 類型 | 說明 |
|---|---|---|
| keys | String Array | 當(dāng)前storage中所有的key |
| currentSize | Number | 當(dāng)前占用的空間大小, 單位kb |
| limitSize | Number | 限制的空間大小,單位kb |
調(diào)用方式:
wx.getStorageInfo({
success: function(res) {
console.log(res.keys)
console.log(res.currentSize)
console.log(res.limitSize)
}
})
wx.getStorageInfoSync()-------同步獲取當(dāng)前緩存數(shù)據(jù)
emmmmm---微信并沒有給參數(shù)說明
調(diào)用方式:
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的緩存數(shù)據(jù)
微信官方參數(shù)說明
OBJECT參數(shù)說明:
| 參數(shù) | 類型 | 必填 | 說明 |
|---|---|---|---|
| key | String | 是 | 本地緩存中的指定的 key |
| success | Function | 是 | 接口調(diào)用的回調(diào)函數(shù) |
| fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
| complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行) |
調(diào)用方式:
wx.removeStorage({
key: 'key',
success: function(res) {
console.log(res.data)
}
})
wx.removeStorageSync()------同步移除指定key的緩存數(shù)據(jù)
微信官方參數(shù)說明
參數(shù)說明:
| 參數(shù) | 類型 | 必填 | 說明 |
|---|---|---|---|
| key | String | 是 | 本地緩存中的指定的 key |
調(diào)用方式:
try {
wx.removeStorageSync('key')
} catch (e) {
// Do something when catch error
}
wx.clearStorage()------異步清理本地緩存
調(diào)用方式:
wx.clearStorage()
wx.clearStorageSync()-------同步清理本地緩存
調(diào)用方式:
try {
wx.clearStorageSync()
} catch(e) {
// Do something when catch error
}
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
一個(gè)php+js實(shí)時(shí)顯示時(shí)間問題
本文給大家分享的是解決的php+js實(shí)時(shí)顯示時(shí)間問題,主要是自己當(dāng)時(shí)的理解有問題,也許大家有和我一樣的情況,這里分享給大家2015-10-10
OpenLayers3實(shí)現(xiàn)鼠標(biāo)移動(dòng)顯示坐標(biāo)
這篇文章主要為大家詳細(xì)介紹了OpenLayers3實(shí)現(xiàn)鼠標(biāo)移動(dòng)顯示坐標(biāo),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09
js 優(yōu)化次數(shù)過多的循環(huán) 考慮到性能問題
IE沒有我們想象中笨,它知道總的循環(huán)次數(shù)還是一千萬次。因此,得把這一百個(gè)十萬次循環(huán)分開執(zhí)行。雖然Javascript是單線程的,但也可以通過setTimeout或setInterval模擬多線程。2011-03-03
js實(shí)現(xiàn)隨機(jī)點(diǎn)名小功能
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)隨機(jī)點(diǎn)名小功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
深入探究JavaScript的類型判斷(從基礎(chǔ)到精通)
JavaScript 語言具有多種數(shù)據(jù)類型,它們可以大致分為兩大類:基本數(shù)據(jù)類型(Primitive Data Types)和引用數(shù)據(jù)類型(Reference Data Types),本文將帶大家一起從基礎(chǔ)到精通深入探究JavaScript的類型判斷,需要的朋友可以參考下2024-05-05
webpack學(xué)習(xí)--webpack經(jīng)典7分鐘入門教程
這篇文章主要介紹了webpack學(xué)習(xí)--webpack經(jīng)典7分鐘入門教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
TypeScript中Array(數(shù)組)聲明與簡單使用方法
這篇文章主要給大家介紹了關(guān)于TypeScript中Array(數(shù)組)聲明與簡單使用的相關(guān)資料,TypeScript Array(數(shù)組)數(shù)組對(duì)象是使用單獨(dú)的變量名來存儲(chǔ)一系列的值,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12

