国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

詳解小程序緩存插件(mrc)

2019-11-19 13:14:20
字體:
來源:轉載
供稿:網友

背景

wx.request是小程序提供的API,用于發起網絡請求,在頻繁并且響應較慢的業務中的請求,頁面白屏或者loading時間也相應比較長,然而合理的利用緩存是個很好提升界面響應速度,減少網絡資源占用的手段。

mrc提供2種換成模式用于業務中使用

短期緩存

對于實時性要求相對較低的業務場景而言,可以使用短期緩存

短期緩存能夠將接口數據在一定時間內緩存起來,在時間范圍內再次請求的話,可以直接使用緩存數據,減少白屏或者loading時間。設置不同的緩存時間來適應不同的業務,還可以有效的節約網絡資源

快照緩存

類比搜索引擎的快照,針對請求響應較慢的并且實時性又比較高的場景而言,可以使用快照緩存。

快照緩存每次請求都會先返回上一次緩存數據作為結果返回,然后再去請求,等到請求返回之后再更新緩存,業務方可以對比2次返回結果進行局部渲染

使用

mrc以一種侵入式最小的方式封裝了原生的resquest API,擴展原生API的功能,可以支持promise以及2種緩存方式。

//app.js//引入request緩存插件import Mrc from './dist/mrc.min';//實例化一個全局引用App({ wxp: new Mrc({  prefix: '___CACHE___',   //選填,存儲字段前綴,默認___CACHE___  timeout: 600000,    //選填,緩存多長時間,單位ms,默認10分鐘 }),})
//page.jsconst app = getApp()let {wxp} = appPage({ data: { }, onLoad: function () {  wxp.request({   url: 'http://xxxxxx',   cache: {    enable: true,    //選填,是否開啟緩存,默認false    type: 'snapshot',   //選填,開啟緩存類型,定時(timeout)、快照(snapshot),默認定時    timeout: 600000,    //選填,定時緩存時間,使用優先級,當前配置>全局配置>默認配置   },  })   .then((res) => {    //快照緩存時會多返回一個正式請求的promise對象,用于獲取正式請求的數據    return res.req;   })   .then((res) => {    console.log(res);   }) },})

特性

  1. 緩存類型為快照緩存時,緩存的數據為持久緩存,timeout設置無效
  2. 緩存類型為快照緩存時,第一個then回調會帶上正式請求的promise對象,用于下個then回調獲取正式請求的數據
  3. 不想使用緩存時(enable=false),一樣可以用mrc實例化之后的對象正常請求,支持promise

對比

類型 是否持久化 是否每次都請求 實時性
快照緩存
短期緩存

配合骨架屏來使用效果更佳!!!

總結

緩存插件的使用可以有效的提升頁面打開速度,并且在頻繁的網絡請求中可以有效的節約服務器資源。具體的調用方式和源碼,請看 github ,最后求start

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 车险| 河源市| 屏边| 潞城市| 鸡泽县| 桃源县| 泌阳县| 安平县| 永胜县| 台南市| 绥化市| 南部县| 大洼县| 文登市| 宁陵县| 尤溪县| 缙云县| 桦川县| 赤水市| 阳春市| 长岭县| 鹿泉市| 马公市| 隆回县| 宣化县| 乌鲁木齐市| 瑞安市| 隆化县| 青田县| 遵义市| 宁河县| 肇庆市| 仁布县| 昌黎县| 乌兰县| 大足县| 盐山县| 西乌珠穆沁旗| 施秉县| 兰西县| 崇礼县|