Comlink-loader 销毁自定义错误类

时间:2021-02-11 08:23:36

标签: webpack comlink 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 },
    },
...
]

我可以用它做什么?

0 个答案:

没有答案