Web Workers

了解如何在 Web Workers API 中使用 Sentry 的 Browser SDK。

Sentry 的 Browser SDK 支持 Web Workers API。要捕获来自 Web Workers 的未处理错误:

使用您的包管理器安装 @sentry/browser

Copied
npm install @sentry/browser --save

然后您可以使用它:

index.js
Copied
import * as Sentry from "@sentry/browser";

Sentry.init({
  dsn: "https://examplePublicKey@o0.ingest.sentry.io/0",
});

const worker = new Worker("worker.js");

// Errors from `onmessage` callback of `worker.js`
// will be captured.
worker.postMessage("Hello!");

worker.js
Copied
import * as Sentry from "@sentry/browser";

self.onmessage = (message) => {
  // This will fail silently.
  Sentry.captureMessage("Message received");

  // This error will be captured.
  throw new Error();
};

worker.js
Copied
import * as Sentry from "@sentry/browser";

Sentry.init({
  dsn: "https://examplePublicKey@o0.ingest.sentry.io/0",
});

self.onmessage = (message) => {
  // This message will be captured
  Sentry.captureMessage("Message received");

  // This error will also be captured.
  throw new Error();
};

请注意,如果您在 Web Workers 中使用非默认集成,它们可能无法按预期工作。但作用域外启用的非默认集成不会受到影响,并将按预期工作。这包括会话重放(Session Replay)。

如果提供源映射,Sentry 的源映射集成在 Web Workers 中是支持的。了解更多关于向 Sentry 提供 源映射 的信息。