# CacheManager.on(string eventName, function handler)
基础库 2.24.0 开始支持,低版本需做兼容处理。
小程序插件:不支持
相关文档: 弱网体验优化
# 功能描述
监听事件。
# 参数
# string eventName
事件名
eventName 的合法值
值 | 说明 | 最低版本 |
---|---|---|
request | 发生 wx.request 请求,只在缓存管理器开启阶段会触发 | |
enterWeakNetwork | 进入弱网/离线状态 | |
exitWeakNetwork | 离开弱网/离线状态 |
# function handler
事件句柄
这里 request 事件会提供 request 事件对象,用于做后续的处理;在 request 事件中需要返回一个 promise,用来生成 wx.request 请求的返回内容。
# 示例代码
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)