使用弱网优化api的wx.createCacheManager匹配上规则后没有缓存数据。调用cacheManager.match()匹配上后只返回了ruleId和maxAge,没有data、cacheId和createTime, 我不理解是我没缓存到数据 还是 缓存到了只是拿到数据,请帮我看看
// 创建缓存管理器 const cacheManager = wx.createCacheManager({ mode: 'always' }) // 添加请求规则 cacheManager.addRule(/https:\/\/(?:.*)/ig) // 表示所有 https 请求都匹配 // 监听符合规则的 wx.request 请求,默认在弱网时调用 wx.request 即会触发 cacheManager.on('request', evt => { console.log("networkCache 1 ===>", evt) return new Promise((resolve, reject) => { // 匹配是否存在缓存 const matchRes = cacheManager.match(evt) console.log("networkCache 2 ===>", matchRes) if (matchRes && matchRes.data) { // 使用缓存返回 resolve(matchRes.data) } else { // 没有匹配到缓存 reject({ errMsg: `catch not found: ${evt.url}` }) } }) })
你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
解决了吗,同样的问题
你的模式是always,证明缓存管理器将请求拦截了,你从来没有请求过接口,所以缓存管理器里面的值也是空的,这个时候你去拿缓存管理器的值是拿不到的,我是这样理解的