基础库 2.24.0 开始支持,低版本需做兼容处理。
微信小程序插件:不支持
相关文档: 弱网体验优化
功能描述
关闭缓存,仅在 mode 为 none 时生效,调用后缓存管理器的 state 会置为 0。
基础库 2.24.0 开始支持,低版本需做兼容处理。
微信小程序插件:不支持
相关文档: 弱网体验优化
关闭缓存,仅在 mode 为 none 时生效,调用后缓存管理器的 state 会置为 0。
基础库 2.24.0 开始支持,低版本需做兼容处理。
微信小程序插件:不支持
相关文档: 弱网体验优化
开启缓存,仅在 mode 为 none 时生效,调用后缓存管理器的 state 会置为 1。
基础库 2.24.0 开始支持,低版本需做兼容处理。
微信小程序插件:不支持
相关文档: 弱网体验优化
监听事件。
事件名
eventName 的合法值
| 值 | 说明 | 最低版本 |
|---|---|---|
| request | 发生 wx.request 请求,只在缓存管理器开启阶段会触发 | |
| enterWeakNetwork | 进入弱网/离线状态 | |
| exitWeakNetwork | 离开弱网/离线状态 |
事件句柄
这里 request 事件会提供 request 事件对象,用于做后续的处理;在 request 事件中需要返回一个 promise,用来生成 wx.request 请求的返回内容。
这次 request 所返回的请求结果默认不会写入缓存中。如需写入缓存,可以传入参数 request({ needUpdateCache: true })
async function handler(evt) {
// evt.url - 请求 url
// evt.data - 请求参数
// evt.method - 请求方法
// evt.request - 原始 request 方法,返回一个 promise
// if (evt.url === '/xxx') {
// // 如果有些请求仍然希望走到网络,则可以如下处理
// const res = await evt.request()
// // res 即为网络请求返回
// }
return new Promsie((resolve, reject) => {
// do sth
if (data) {
// 这里 resolve 的 data 就会作为 wx.request 的 success 回调结果返回
resolve(data)
} else {
// 这里 reject 的错误信息就会作为 wx.request 的 fail 回调结果返回
reject('no data')
}
})
}
cacheManager.on('request', handler)
基础库 2.24.0 开始支持,低版本需做兼容处理。
微信小程序插件:不支持
相关文档: 弱网体验优化
取消事件监听。
事件名
事件句柄
基础库 2.24.0 开始支持,低版本需做兼容处理。
微信小程序插件:不支持
相关文档: 弱网体验优化
匹配命中的缓存规则,一般需要和 request 事件搭配使用。
request 事件对象
匹配到的缓存
| 属性 | 类型 | 说明 |
|---|---|---|
| ruleId | string | 命中的规则 id |
| cacheId | string | 缓存 id |
| data | any | 缓存内容,会带有 fromCache 标记,方便开发者区分内容是否来自缓存 |
| createTime | number | 缓存创建时间 |
| maxAge | number | 缓存有效时间 |
function handler(evt) {
const cache = cacheManager.match(evt)
// 若有重复监听,则取第一个 handler 返回的 promise
return new Promise((resolve, reject) => {
if (cache.data) {
resolve(cache.data)
} else {
reject('no cache')
}
})
}
cacheManager.on('request', handler)
基础库 2.24.0 开始支持,低版本需做兼容处理。
微信小程序插件:不支持
相关文档: 弱网体验优化
批量删除规则,同时会删除对应规则下所有缓存。
规则 id 列表