Functions and classes available to Web Workers
In addition to the standard JavaScript set of functions (such as String
, Array
, Object
, JSON
, etc), there are a variety of functions available from the DOM to workers. This article provides a list of those.
Worker Contexts & Functions
Workers run in a different global context than the current window! While Window
is not directly available to workers, many of the same methods are defined in a shared mixin (WindowOrWorkerGlobalScope
), and made available to workers through their own WorkerGlobalScope
-derived contexts:
-
DedicatedWorkerGlobalScope
for dedicated workers -
SharedWorkerGlobalScope
for shared workers -
ServiceWorkerGlobalScope
for service workers
Some of the functions that are common to all workers and to the main thread (from WindowOrWorkerGlobalScope
) are: atob()
, btoa()
, clearInterval()
, clearTimeout()
,dump()
, setInterval()
, setTimeout()
.
The following functions are only available to workers:
-
WorkerGlobalScope.importScripts()
(all workers), -
DedicatedWorkerGlobalScope.postMessage
(dedicated workers only).
Web APIs available in workers
Note: If a listed API is supported by a platform in a particular version, then it can generally be assumed to work in web workers.
The following Web APIs are available to workers: Broadcast Channel API
, Cache API
,Channel Messaging API
,Console API
, Crypto
, CustomEvent
, Data Store
(Firefox only), DOMRequest
and DOMCursor
, Fetch
, FileReader
, FileReaderSync
(only works in workers!), FormData
, ImageData
, IndexedDB
, Network Information API, Notifications
, Performance
, PerformanceEntry
, PerformanceMeasure
, PerformanceMark
, PerformanceObserver
, PerformanceResourceTiming
, Promise
, Server-sent events, ServiceWorkerRegistration
, TextEncoder
and TextDecoder
, URL
, WebGL with OffscreenCanvas
(enabled behind a feature preference setting gfx.offscreencanvas.enabled
), WebSocket
, XMLHttpRequest
.
Workers can also spawn other workers, so these APIs are also available: Worker
, WorkerGlobalScope
, WorkerLocation
, WorkerNavigator
.
See also
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Functions_and_classes_available_to_workers