检测 Service Worker 的获取中止

Ant*_*ris 5 javascript service-worker

如果 Service Worker 中止获取请求,应用程序是否可以专门接收“中止”异常?

fetch在 Service Worker 中显式中止请求,相反,应用程序仅收到 a TypeError,这感觉不明确,并且并不明确指示发生中止。

完整代码:service-worker.js

self.addEventListener('fetch', event => {
  const controller = new AbortController()
  const signal = controller.signal

  event.respondWith(
    fetch(event.request, { signal })
      .catch(e => {}) // prevent uncaught error message in console
      .finally(() => removeAbortController(...))
  )

  // immediately abort the request to exemplify
  controller.abort()
})
Run Code Online (Sandbox Code Playgroud)