如何解决cacheManager.match()匹配数据缺失问题?
使用弱网优化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}` })
}
})
})