微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Fetch API 和 Service Worker - 为什么在首次加载后未正确设置 Fetch 侦听器?

如何解决Fetch API 和 Service Worker - 为什么在首次加载后未正确设置 Fetch 侦听器?

我在 Service Worker 中有代码来创建假 API:

Brand<T,U>

然后我在我的代码中使用它:

self.addEventListener('fetch',event => {
  if (event.request.url.includes('apis')) {
    const response = getResponse(event.request);
    event.respondWith(new Promise(resolve => {
      setTimeout(() => resolve(response),3000);
    }));
  }
});

当我第一次启动页面时(例如在 CTRL + F5 刷新后)看起来事件侦听器设置不正确,我得到了 404 结果。然后当我再次刷新时,只需正确加载 F5 假数据。 你知道我的方法有什么问题吗?我认为服务工作者侦听器在按页面初始化后立即启动。无论我在页面加载后等待多长时间 - 当它使用 CTRL + F5 重新加载时,它不会设置侦听器。

我尝试过 const reloadPosts = async () => { const response = await fetch('apis'); const { posts } = await response.json(); // do something document.querySelector('#load').addEventListener('click',reloadPosts); 方法,但没有奏效:

claim

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。