在完成前中止请求时 Firefox 上的 NetworkError

NetworkError on Firefox when aborting request before completion

我在做类似的事情:

fetch(url, ...)
.then(...)
.catch(e => {
  // Handle error here
});

然而,在 Firefox 上,每当我过快地导航到另一个页面(即所有请求都没有完成)时,它会抛出一个错误,这将触发 UI[=14= 中的错误处理]

类型错误:"NetworkError when attempting to fetch resource"

我在此处找到了围绕此主题的讨论,但暂时无法提供解决方法。

https://bugzilla.mozilla.org/show_bug.cgi?id=1280189

想知道是否有任何方法可以检测浏览器的中止,并优雅地处理它。

我见过类似的问题,但所有这些似乎都与 CORS 有关,并且与这个问题不同。

编辑:在之前提到的工单中复制:

window.onbeforeunload = function(event) {
console.log("navigating away")

};
console.log("starting")
fetch("https://jsfiddle.net/").then(x => {
  console.log("fetched")
}).catch(e => {
  console.log("caught", e)
})
window.location = "https://jsfiddle.net/";

Returns:

caught TypeError: "NetworkError when attempting to fetch resource."

经过一些来回我设法实现英寸高中止控制器方法 - developer.mozilla。org/en-US/docs/Web/API/AbortController