返回顶部
首页 > 资讯 > 前端开发 > JavaScript >小程序缓存插件的示例分析
  • 457
分享到

小程序缓存插件的示例分析

2024-04-02 19:04:59 457人浏览 薄情痞子
摘要

这篇文章主要为大家展示了“小程序缓存插件的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“小程序缓存插件的示例分析”这篇文章吧。背景wx.request是

这篇文章主要为大家展示了“小程序缓存插件的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“小程序缓存插件的示例分析”这篇文章吧。

背景

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.js
const app = getApp()
let {wxp} = app
Page({
 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

对比

类型是否持久化是否每次都请求实时性
快照缓存
短期缓存

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

小程序缓存插件的示例分析

以上是“小程序缓存插件的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网JavaScript频道!

--结束END--

本文标题: 小程序缓存插件的示例分析

本文链接: https://lsjlt.com/news/70768.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 小程序缓存插件的示例分析
    这篇文章主要为大家展示了“小程序缓存插件的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“小程序缓存插件的示例分析”这篇文章吧。背景wx.request是...
    99+
    2024-04-02
  • 微信小程序缓之缓存时效性的示例分析
    这篇文章将为大家详细讲解有关微信小程序缓之缓存时效性的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。关于本地缓存1.wx.setStorage(wx.setSto...
    99+
    2024-04-02
  • 微信小程序中缓存过期时间的示例分析
    小编给大家分享一下微信小程序中缓存过期时间的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!关于本地缓存1.wx.setStorage(wx.setStorageSync)、wx.g...
    99+
    2024-04-02
  • HTML5中Web缓存和运用程序缓存的示例分析
    这篇文章主要为大家展示了“HTML5中Web缓存和运用程序缓存的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“HTML5中Web缓存和运用程序缓存的示例...
    99+
    2024-04-02
  • 小程序globalData的示例分析
    这篇文章主要为大家展示了“小程序globalData的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“小程序globalData的示例分析”这篇文章吧。小...
    99+
    2024-04-02
  • 微信小程序组件事件的示例分析
    这篇文章主要介绍了微信小程序组件事件的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。组件事件事件系统是组件间交互的主要形式。自定义组件可以触发任意的事件,引用组件的页...
    99+
    2023-06-26
  • 微信小程序的示例分析
    这篇文章主要介绍微信小程序的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!未来的发展趋势未来的发展趋势是一切触手可及。比如去餐馆吃饭,扫一扫二维码就可以看菜单、点菜、付款;到公交站台,扫一扫二维码就知道有哪些...
    99+
    2023-06-26
  • Mybatis中缓存的示例分析
    这篇文章主要为大家展示了“Mybatis中缓存的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Mybatis中缓存的示例分析”这篇文章吧。缓存Mybat...
    99+
    2024-04-02
  • nuxt.js中缓存的示例分析
    这篇文章给大家分享的是有关nuxt.js中缓存的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。nuxt 是基于 vue 的 ssr 解决方案,可以是使用vue语法完成前后...
    99+
    2024-04-02
  • 微信小程序组件列表的示例分析
    这篇文章将为大家详细讲解有关微信小程序组件列表的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。基础组件框架为开发者提供了一系列基础组件,开发者可以通过组合这些基础组件进行快速开发。什么是组件:组件...
    99+
    2023-06-26
  • 微信小程序文件结构的示例分析
    这篇文章主要介绍微信小程序文件结构的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!文件结构小程序包含一个描述整体程序的 app 和多个描述各自页面的 page。一个小程序主体部分由三个文件组成,必须放在项目的...
    99+
    2023-06-26
  • Mybatis分页插件的示例分析
    这篇文章主要介绍Mybatis分页插件的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Mybatis分页插件的实例详解1.前言:我们知道,在MySQL中,分页的sql是使用l...
    99+
    2024-04-02
  • Redis缓存问题的示例分析
    这篇文章给大家分享的是有关Redis缓存问题的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、Redis缓存的应用在我们的实际业务场景中,Redis 一般和其他数据库搭...
    99+
    2024-04-02
  • OCR插件Ocrad.js的示例分析
    这篇文章主要介绍了OCR插件Ocrad.js的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Ocrad.js 相当于是 Ocrad ...
    99+
    2024-04-02
  • Vue中插件的示例分析
    这篇文章主要为大家展示了“Vue中插件的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue中插件的示例分析”这篇文章吧。以上是“Vue中插件的示例分析”这篇文章的所有内容,感谢各位的阅...
    99+
    2023-06-25
  • swiper小程序开发示例分析
    这篇“swiper小程序开发示例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“swiper小程序开发示例分析”文章吧。 ...
    99+
    2023-06-26
  • 微信小程序中冒泡事件的示例分析
    这篇文章主要介绍微信小程序中冒泡事件的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在微信小程序的事件分为冒泡事件和非冒泡事件:冒泡事件:当一个组件上的事件被触发后,该事件会...
    99+
    2024-04-02
  • 微信小程序中事件bindtap bindinput的示例分析
    小编给大家分享一下微信小程序中事件bindtap bindinput的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、...
    99+
    2024-04-02
  • Mybatis中一级缓存、二级缓存的示例分析
    这篇文章主要介绍了Mybatis中一级缓存、二级缓存的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Mybatis 为我们提供了一级缓存和二级缓存,可以通过下图来理解...
    99+
    2023-06-02
  • 微信小程序开发之数据存储、参数传递、数据缓存对的示例分析
    这篇文章给大家分享的是有关微信小程序开发之数据存储、参数传递、数据缓存对的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。微信小程序开发内测一个月.数据传递的方式很少.经常...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作