在完成前中止请求时 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
我在做类似的事情:
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