CacheManager.on(string eventName, function handler)
监听事件。
基础库 2.23.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)