微信小程序API之?dāng)?shù)據(jù)緩存

微信小程序框架提供豐富的微信原生API载碌,可以方便的調(diào)起微信提供的能力,如獲取用戶信息衅枫,本地存儲(chǔ)嫁艇,支付功能等。
本文主要說(shuō)明數(shù)據(jù)緩存

每個(gè)微信小程序都可以有自己的本地緩存

在進(jìn)行ajax請(qǐng)求時(shí)
可以通過(guò)
wx.setStorage(異步本地存儲(chǔ)數(shù)據(jù))弦撩、
wx.setStorageSync(同步本地存儲(chǔ)數(shù)據(jù))步咪、
wx.getStorage(異步使用本地?cái)?shù)據(jù))、
wx.getStorageSync(同步使用本地?cái)?shù)據(jù))益楼、
wx.clearStorage(異步清理本地?cái)?shù)據(jù)緩存)
wx.clearStorageSync(同步清理本地?cái)?shù)據(jù)緩存)
對(duì)本地緩存進(jìn)行設(shè)置猾漫、獲取和清理。同一個(gè)微信用戶感凤,同一個(gè)小程序 storage 上限為 10MB悯周。

wx.setStorage(OBJECT)

將數(shù)據(jù)存儲(chǔ)在本地緩存中指定的 key 中,會(huì)覆蓋掉原來(lái)該 key 對(duì)應(yīng)的內(nèi)容陪竿,這是一個(gè)異步接口禽翼。

OBJECT參數(shù)說(shuō)明:

參數(shù) 類型 必填 說(shuō)明
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í)行)

示例代碼:

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

wx.setStorageSync(KEY,DATA)

將 data 存儲(chǔ)在本地緩存中指定的 key 中族跛,會(huì)覆蓋掉原來(lái)該 key 對(duì)應(yīng)的內(nèi)容闰挡,這是一個(gè)同步接口。

參數(shù)說(shuō)明:

參數(shù) 類型 必填 說(shuō)明
key String 本地緩存中的指定的 key
data Object/String 需要存儲(chǔ)的內(nèi)容

示例代碼

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

wx.getStorage(OBJECT)

從本地緩存中異步獲取指定 key 對(duì)應(yīng)的內(nèi)容礁哄。

OBJECT參數(shù)說(shuō)明:

參數(shù) 類型 必填 說(shuō)明
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ù)說(shuō)明:

參數(shù) 類型 說(shuō)明
data String key對(duì)應(yīng)的內(nèi)容

示例代碼:

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

wx.getStorageSync(KEY)

從本地緩存中同步獲取指定 key 對(duì)應(yīng)的內(nèi)容。

參數(shù)說(shuō)明:

參數(shù) 類型 必填 說(shuō)明
key String 本地緩存中的指定的 key

代碼示例&解析

wx.showNavigationBarLoading();導(dǎo)航條加載動(dòng)畫(huà)
wx.showLoading({ title: '玩命加載中', mask: true })界面加載動(dòng)畫(huà)桐绒,title加載動(dòng)畫(huà)的提示語(yǔ)夺脾,mask透明蒙層之拨,防止觸摸穿透
let data1 = wx.getStorageSync("hotMovie");把存儲(chǔ)到本地的數(shù)據(jù)異步賦值給data1,方便后續(xù)使用

onLoad: function() { 
    wx.showNavigationBarLoading();
    wx.showLoading({
      title: '玩命加載中',
      mask: true
    })
    var that = this;
    let data1 = wx.getStorageSync("hotMovie");
    if(data1){//判斷data1是否有數(shù)據(jù)咧叭,若有直接that.setData({ })定義
      wx.hideNavigationBarLoading();
      wx.hideLoading();
      // console.log(res);
      that.setData({
        imgUrls: data1.slice(0, 2),
        imgkey: data1.slice(0, 2),
        info: data1.slice(0, 2),
        file: data1.slice(0, 2)
      })
    }else{//若無(wú)
      wx.request({//進(jìn)行ajax請(qǐng)求
        url: 'https://www.easy-mock.com/mock/5b28c8793f9f7c0b22426dce/example/hotmovie',
        success(res) {
          wx.setStorage({//將請(qǐng)求成功的數(shù)據(jù)異步存儲(chǔ)到本地
            key: 'hotMovie',
            data: res.data.subjects
          })
        }
      });
    };
  }

使用if(){}else{}判斷并且將數(shù)據(jù)存儲(chǔ)到本地的優(yōu)點(diǎn)敦锌,使小程序把請(qǐng)求到的數(shù)據(jù)存儲(chǔ)到本地,然后進(jìn)行判斷佳簸,有數(shù)據(jù)則不再請(qǐng)求乙墙,無(wú)數(shù)據(jù)則請(qǐng)求一次,存儲(chǔ)到本地即可生均,用戶體驗(yàn)度更高听想,界面無(wú)需刷新即可獲取數(shù)據(jù),操作更流暢马胧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末汉买,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子佩脊,更是在濱河造成了極大的恐慌蛙粘,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件威彰,死亡現(xiàn)場(chǎng)離奇詭異出牧,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)歇盼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門舔痕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人豹缀,你說(shuō)我怎么就攤上這事伯复。” “怎么了邢笙?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵啸如,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我氮惯,道長(zhǎng)叮雳,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任筐骇,我火速辦了婚禮债鸡,結(jié)果婚禮上江滨,老公的妹妹穿的比我還像新娘铛纬。我一直安慰自己,他們只是感情好唬滑,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布告唆。 她就那樣靜靜地躺著棺弊,像睡著了一般。 火紅的嫁衣襯著肌膚如雪擒悬。 梳的紋絲不亂的頭發(fā)上模她,一...
    開(kāi)封第一講書(shū)人閱讀 51,370評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音懂牧,去河邊找鬼侈净。 笑死,一個(gè)胖子當(dāng)著我的面吹牛僧凤,可吹牛的內(nèi)容都是我干的畜侦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼躯保,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼旋膳!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起途事,我...
    開(kāi)封第一講書(shū)人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤验懊,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后尸变,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體义图,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡匀哄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年苟径,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瓶颠。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡痛垛,死狀恐怖桶蛔,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情仔雷,我是刑警寧澤蹂析,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站碟婆,受9級(jí)特大地震影響电抚,放射性物質(zhì)發(fā)生泄漏竖共。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一公给、第九天 我趴在偏房一處隱蔽的房頂上張望借帘。 院中可真熱鬧蜘渣,春花似錦、人聲如沸肺然。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至街望,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間它匕,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工告希, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人烧给。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓础嫡,卻偏偏與公主長(zhǎng)得像指么,于是被迫代替她去往敵國(guó)和親榴鼎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理盗似,服務(wù)發(fā)現(xiàn),斷路器赫舒,智...
    卡卡羅2017閱讀 134,656評(píng)論 18 139
  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結(jié)構(gòu)(3).初始化時(shí)...
    歐辰_OSR閱讀 29,383評(píng)論 8 265
  • 1闽瓢、通過(guò)CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請(qǐng)求組件 FMDB本地?cái)?shù)據(jù)庫(kù)組件 SD...
    陽(yáng)明先生_X自主閱讀 15,980評(píng)論 3 119
  • 一場(chǎng)國(guó)際的球,一場(chǎng)曼聯(lián)的球缺猛,場(chǎng)上的針對(duì)性,團(tuán)結(jié)一致枯夜,千差萬(wàn)別~
    leo_s閱讀 424評(píng)論 1 3
  • 住老式樓房的六樓弯汰。樓老艰山,住的也大多是老人湖雹。 老人都自己做飯,不像我們都在單位曙搬、學(xué)校吃完了才回家。所以纵装,最遭罪的時(shí)候...
    東里西門行走閱讀 215評(píng)論 0 2