我正在使用 Sentry 记录 JS 客户端错误,并且有很多 TypeError: cancelled
错误。它只发生在 iOS 上。我在谷歌上找不到任何东西。这是 native Javascript 错误还是其他什么?什么意思?
我在其他语言中也遇到类似的错误,例如 취소됨
、Abgebrochen
和 cancelado
。这告诉我错误不是由我的代码引起的。
最佳答案
令人沮丧吧?
最近我们的团队遇到了同样的错误。这是我们案例中发生的事情。当页面加载时,刷新按钮变为十字按钮,现在如果在此页面加载期间某些 api 请求正在进行并且用户单击此十字按钮,则 iOS chrome/safari 会抛出此错误。对于相同的情况,Firefox 浏览器抛出 TypeError: NetworkError when attempt to fetch resource
和 chrome 浏览器通过 TypeError: Failed to fetch
。
这不是我们真正应该担心的问题,因此我们决定通过使用 sentry 的 ignoreErrors 属性让 sentry 忽略这个错误。
Sentry.init({
dsn: "sentry_dsn",
ignoreErrors: [
'TypeError: Failed to fetch',
'TypeError: NetworkError when attempting to fetch resource.',
'TypeError: cancelled'
],
});
**注:**
Failed to fetch 也是由 CORS 错误产生的,请注意这一点。 我们还决定使用 sentry 的 beforeSend 回调忽略 statusCode 在 400 到 426 之间的错误。
我们花了几天时间试图找出这个错误。希望这对某人有所帮助。
谢谢
此外, 这最初写在这里:https://forum.sentry.io/t/typeerror-failed-to-fetch-reported-over-and-overe/8447/2
关于在 iOS 上调用 "TypeError: cancelled"时出现 Javascript "fetch"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55738408/