【问题标题】:How to resolve "Unhandled Promise Rejection: NotSupportedError: The operation is not supported." in Safari - Angular?如何在 Safari - Angular 中解决“未处理的承诺拒绝:NotSupportedError:不支持该操作。”?
【发布时间】:2022-11-13 22:20:47
【问题描述】:

我只在 Safari 浏览器中收到上述错误,这在我的本地机器上没有发生调试。我在进一步挖掘时删除了构建的缩小版本,错误似乎来自 Zone.js。

我无法进一步调试并且不确定它为什么会发生。它不会在其他浏览器中发生。

调试 Zone.js 库的缩小版本并不容易。我该如何进一步解决这个问题?

我认为对功能没有任何影响,但它一直困扰着我。

我发现了类似的错误,但它们与音频/视频文件有关。尽管如此,就我而言,无论我在哪里导航,错误都会发生在每个页面上,并且只会在任何页面的第一次加载时发生。我也没有从 API 调用中得到任何错误/失败。

类似链接

Audio not playing on IOS: [native code]:1 Unhandled Promise Rejection: NotSupportedError: The operation is not supported

HTML5 Audio Throwing Error on iOS Safari only: "Unhandled Promise Rejection: NotSupportedError: The operation is not supported."

How get URL.createObjectURL(blob) to work in Safari

Unhandled Promise Rejection: NotSupportedError (DOM Exception 9): The operation is not supported

这里的任何帮助将不胜感激。有什么方法可以调试此类问题?

【问题讨论】:

    标签: javascript safari zone.js notsupportedexception unhandled-promise-rejection


    【解决方案1】:

    你可以尝试设置Uncaught Exceptions 特殊断点。

    这样,如果未捕获抛出的异常,Safari 将暂停执行。此外,当异常发生时,您可以访问任何局部变量和状态,从而缩小问题范围。或者至少有更多关于抛出异常时局部变量当前状态的信息。

    有关设置这种特殊断点的更多信息,请查看webkit documentation on the subject

    此外,您始终可以在 unhandledrejection 事件上设置一个全局事件侦听器,以捕获任何没有拒绝处理程序的 Promise。也许PromiseRejectionEvent.reason 可能比记录到控制台的错误向您显示的信息更多,但我对此表示怀疑。

    无论如何,听这个事件,会让你摆脱错误:

    window.addEventListener("unhandledrejection", (event) => {
      console.log(event.reason);
    });
    

    【讨论】:

      猜你喜欢
      • 2022-08-15
      • 2021-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-02
      相关资源
      最近更新 更多