【微信小程序】開發實戰 之 「數據緩存API」解析

每一個小程序均可以有本身的本地緩存,能夠經過 數據緩存的API 實現對本地緩存進行 設置、獲取和清理。本地緩存最大爲10M。localStorage是永久存儲的,但咱們不建議將關鍵信息都放在localStorage,以防用戶更換設備。小程序

設置本地緩存

1、wx.setStorage(OBJECT)

該接口是異步接口,用於將數據存儲在本地緩存中指定的key中。會覆蓋掉該key對應的原來的內容。緩存

該接口參數:異步

參數key,     string類型,         必填項,本地緩存中指定的key。函數

參數data,   object/string類型,必填項,須要存儲的內容。spa

參數success,fail,complete,均爲Function類型,分別對應接口調用成功、失敗和結束時的回調函數。code

示例代碼以下:blog

wx.setStorage({
    key:"key",
    data:"value"
})

2、wx.setStorageSync(KEY,DATA)

該接口是同步接口,用於將data存儲在本地緩存中指定的key中。會覆蓋掉該key對應的原來的內容。接口

該接口參數:rem

參數key,     string類型,         必填項,本地緩存中指定的key。get

參數data,   object/string類型,必填項,須要存儲的內容。

示例代碼以下:

try{
    wx.setStorageSync('key', 'value')
}catch(e) {
}

獲取/刪除 本地緩存

1、wx.getStorage (OBJECT) 和 wx.removeStroage (OBJECT)

wx.getStorage (OBJECT) 用於從本地緩存中異步獲取指定key對應的內容。

wx.removeStroage (OBJECT) 用於從本地緩存中異步刪除指定key對應的內容。

該接口參數:

參數key,          string類型,          必填項,本地緩存中指定的key。

參數success,   Function類型,      必填項,接口調用成功時的回調函數,res = {data: key 對應的內容}

參數fail,        Function類型,      非必填,接口調用失敗時的回調函數

參數complete,  Function類型,      非必填,接口調用結束時的回調函數(調用成功或失敗都會執行)

示例代碼以下:

wx.getStorage({
    key: 'key',
    success: function(res) {
        console.log(res.data)
    }
});


wx.removeStorage({
    key: 'key',
    success: function(res) {
        console.log(res.data)
    }
})

2、wx.getStorageSync (KEY) 和 wx.removeStroageSync (KEY)

wx.getStorage (KEY) 用於從本地緩存中同步獲取指定key對應的內容。

wx.removeStroage (KEY) 用於從本地緩存中同步刪除指定key對應的內容。

參數爲key,必填項,是本地緩存中的指定的key。

var value = wx.getStorage('key')
if (value) {
    //Do something with return value 
}

try {
    wx.removeStorageSync('key')
} catch(e) {
    //Do something when catch error 
}

獲取當前storage的相關信息

1、wx.getStorageInfo (OBJECT)

該接口用於異步獲取當前storage的相關信息。

該接口參數:

參數success(必填)、fail、complete,分別對應接口調用成功、失敗和結束時的回調函數。其中success是必填項。

success返回參數說明以下:

keys,Sting 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)
    }
})

2、wx.getStorageInfoSync()

該接口用於同步獲取當前storage相關信息。

示例代碼以下

try {
    var res = wx.getStorageInfo() 
    console.log( res.keys )
    console.log( res.currentSize )
    console.log( res.limitSize )
} catch (e) { 
    // Do something when catch error
}

清理數據緩存

1、wx.clearStorage()

該接口用於清理本地數據緩存。

2、wx.clearStorageSync()

該接口則用於同步清理本地數據緩存。

示例代碼以下:

wx.clearStorage()

try {
    wx.clearStorageSync() 
} catch(e) {
}
相關文章
相關標籤/搜索