收藏
回答

cacheManager 弱网或断网没有响应没有触发打印日志?


1: createCacheManager的mode设置为always时,开发工具报错

2:createCacheManager的mode设置为weakNetwork时:开发工具模拟断网情况,没有触发打印日志

3: 代码片段

// 创建缓存管理器
const cacheManager = wx.createCacheManager({
    origin: 'https://test.com/',
    mode: 'weakNetwork'
})
  
  // 添加请求规则
  cacheManager.addRule(/https:\/\/(?:.*)/ig) // 表示所有 https 请求都匹配
  console.error('默认在弱网时调用 wx.request 即会触发');
  cacheManager.on('enterWeakNetwork', () => {
    console.error('enterWeakNetwork')
  })
  cacheManager.on('exitWeakNetwork', () => {
    console.error('exitWeakNetwork')
  })
  // 监听符合规则的 wx.request 请求,默认在弱网时调用 wx.request 即会触发
  cacheManager.on('request', evt => {
    console.error('弱网时调用 ');
    return new Promise((resolve, reject) => {
      // 匹配是否存在缓存
      const matchRes = cacheManager.match(evt)
  
      if (matchRes && matchRes.data) {
        // 使用缓存返回
        resolve(matchRes.data)
      } else {
        // 没有匹配到缓存
        reject({errMsg: `catch not found: ${evt.url}`})
      }
    })
  })
回答关注问题邀请回答
收藏

1 个回答

  • 社区技术运营专员-Jahozheng
    社区技术运营专员-Jahozheng
    2023-11-01

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2023-11-01
    有用
    回复 3
    • Q小予
      Q小予
      2023-11-01
      流程:开发工具切换网络为slow 3G或 offline,查看打印日志。代码片段:
      2023-11-01
      回复
    • Q小予
      Q小予
      2023-11-02
      原来网络正常时请求到的图片,在弱网模式下没有被缓存到吗?图片没有显示。
      2023-11-02
      回复
    • 社区技术运营专员-Jahozheng
      社区技术运营专员-Jahozheng
      2023-11-02回复Q小予
      按照连接提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html
      2023-11-02
      回复
登录 后发表内容