小程序緩存管理器CacheManager
CacheManager
緩存管理器。全局只有唯一實(shí)例,一旦被創(chuàng)建出來即表示接入緩存管理器。其有以下幾個能力:
基礎(chǔ)庫 2.23.0 開始支持,低版本需做兼容處理。
在網(wǎng)絡(luò)通暢時,符合一定規(guī)則的用戶網(wǎng)絡(luò)請求(目前只包括普通 wx.request 請求)會被緩存。
在網(wǎng)絡(luò)通暢時,某些 wx api 調(diào)用會被緩存。
進(jìn)入弱網(wǎng)/離線狀態(tài)時,會提供事件給用戶,用戶可以決定是否使用緩存返回。
提供進(jìn)入和退出弱網(wǎng)/離線狀態(tài)的事件。
緩存管理器中涉及的網(wǎng)絡(luò)請求如無特指,均指普通的 wx.request 異步請求,參數(shù)和返回值中均不考慮涉及 ArrayBuffer 或 TypedArray 的情形。
緩存管理器中的緩存不會占用 storage 空間,但是有大小限制,請勿在非必要的請求上使用緩存。
屬性
string mode
當(dāng)前緩存模式
mode 的合法值
值 說明 最低版本
weakNetwork 默認(rèn)值,弱網(wǎng)/離線使用緩存返回
always 總是使用緩存返回
none 不開啟,后續(xù)可手動開啟/停止使用緩存返回
string origin
全局 origin
string maxAge
全局緩存有效時間
number state
當(dāng)前緩存管理器狀態(tài)
state 的合法值
值 說明 最低版本
0 不使用緩存返回
1 使用緩存返回
2 未知
方法
Array.string CacheManager.addRules(Array.(string|RegExp|Object) rules)
批量添加規(guī)則,規(guī)則寫法可參考 CacheManager.addRule。
string CacheManager.addRule(string|RegExp|Object rule)
添加規(guī)則。
CacheManager.deleteRules(Array.string ids)
批量刪除規(guī)則,同時會刪除對應(yīng)規(guī)則下所有緩存。
CacheManager.deleteRule(string id)
刪除規(guī)則,同時會刪除對應(yīng)規(guī)則下所有緩存。
CacheManager.clearRules()
清空所有規(guī)則,同時會刪除對應(yīng)規(guī)則下所有緩存。
CacheManager.on(string eventName, function handler)
監(jiān)聽事件。
CacheManager.off(string eventName, function handler)
取消事件監(jiān)聽。
CacheManager.start()
開啟緩存,僅在 mode 為 none 時生效,調(diào)用后緩存管理器的 state 會置為 1。
CacheManager.stop()
關(guān)閉緩存,僅在 mode 為 none 時生效,調(diào)用后緩存管理器的 state 會置為 0。
Object CacheManager.match(Object evt)
匹配命中的緩存規(guī)則,一般需要和 request 事件搭配使用。
CacheManager.deleteCaches(Array.string ids)
批量刪除緩存。
CacheManager.deleteCache(string id)
刪除緩存。
CacheManager.clearCaches()
清空所有緩存。
作者:大學(xué)生新聞網(wǎng) 來源:大學(xué)生新聞網(wǎng)