javaScriptWeb前端之路让前端飞

谈谈http请求数据前端缓存

2017-11-20  本文已影响50人  反者道之动001

我今天推荐一个开源缓存请求神器 -- Xyios

当我们写单页应用的时候,特别是tab或者3大金刚,数据的get请求很经常造成页面数据加载很慢, 于是用了load的方式,load由最早的菊花load演变模块load。但是还是没避免不断加载的问题,体验还不是很友好。如果路由设置缓存,但是数据又要实时更新,也行不通。

这时候xyios来了,可以自定义缓存周期,解决了上面的所有问题。Xios的默认请求方式是所有的,但是post一般不需要,可以排除,具体看API。

使用的话,我是配合axios使用。

下面是github Copy的介绍。


控制缓存, 可配合支持promise的http插件使用,比如axios。

重点说一下, xyios不需要后台配合,简单粗暴。如果配合axios,不破坏原来的任何功能

Usage

import xyios from 'xyios'

let http = xyios(axios, {
  cacheTime: 10, 
  MaxCacheLen: 1000, 
  filtMethods: ['post'],
})

Or jsonp _ var

xyios({
  url: 'http://pv.sohu.com/cityjson',
  jsonp: true,
  val: 'returnCitySN'
}).then(e=>{
  console.log(e)
})

配合axios和vue的实例

main.js全局注入

import xyios from 'xyios'
import axios from 'axios'

Vue.prototype.$http = xyios(axios, {
  cacheTime: 10, 
  MaxCacheLen: 1000, 
})

API

config

cacheTime // 缓存周期 默认是10s   单位是秒
MaxCacheLen // 最多缓存接口数 默认是1000条
filtMethods // 过滤不想要缓存的方法

jsonp

目前只支持var格式
jsonp // true 调起jsonp模式
val 链接字,看get接口里面的var的值

关于

axios的interceptors拦截器请写带xyios的前面

--END--

相关链接
xyios-github: https://github.com/0123cf/xyios

上一篇下一篇

猜你喜欢

热点阅读