Comlink-loader 销毁自定义错误类

问题描述

我有一些自定义错误类,我想在我的工作人员出现错误时抛出这些类。目前,它或多或少是这样的:

// fetch.error.ts
import { CustomError } from "ts-custom-error";

class NotFoundError extends CustomError {} // I've tried using built-in Error class,it was the same
// fetch.worker.ts
export default async function fetchFn(url) {
  const request = await fetch(url);

  if (request.ok) { return request.json() }

  if (request.status === 404) { throw new NotFoundError(); }
}

现在,当我执行此代码而不将其视为工作人员时,这很好:

try {
  await fetchFn("no");
} catch (e) {
  console.log(e instanceof NotFoundError); // true
}

但是当我在工作上下文中执行相同的代码时,它不起作用 - 它是一个通用的 Error 类。

我将 Comlink 与 comlink-loader 一起使用:

// webpack.config.ts
...module.rules: [
    {
      test: /\.worker\.([tj]s)$/i,loader: "comlink-loader",options: { singleton: true },},...
]

我可以用它做什么?

解决方法

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

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

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