Firefox 在全局事件处理程序中捕获后向控制台输出未捕获的错误

问题描述

在我的应用程序中,我将全局事件处理程序用于“unhandledrejection”事件。 其目的是捕获对本地服务器的各种网络请求的错误并处理“服务器无响应”的情况。

事实上它正在工作,但我仍然在 FF 中看到一个红色的控制台。

这是我的代码

private setupEmergencyHandler() {
    window.addEventListener('unhandledrejection',e => {
      e.preventDefault();
      e.promise.catch((error: Error) => {
        if (
          !this.emergencyHandlerIsWorking &&
          error.message === REST_CLIENT_ERROR.CONNECTION_REFUSED
        ) {
          this.emergencyHandlerIsWorking = true;

          this.popup404.show();
          const retry = async () => {
            try {
              await REST_CLIENT_GaraGE.getCars();
              await this.sendRebootMsg();
              this.popup404.hide();
              this.emergencyHandlerIsWorking = false;
            } catch {
              await new Promise(res => setTimeout(res,1000));
              retry();
            }
          };
          retry();
        }
      });
    });
  }

问题是为什么在 Chrome 中我只收到 HTTP 请求错误

GET *** net::ERR_CONNECTION_REFUSED

但在 FF 中我得到相同的结果:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at *** (Reason: CORS request did not succeed).

还有:

Uncaught (in promise) Error: CONNECTION_REFUSED

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...