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:

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:

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 DOMCursorFetchFileReaderFileReaderSync (only works in workers!), FormDataImageDataIndexedDBNetwork Information APINotificationsPerformancePerformanceEntry, PerformanceMeasure, PerformanceMark, PerformanceObserver, PerformanceResourceTimingPromiseServer-sent eventsServiceWorkerRegistrationTextEncoder and TextDecoderURLWebGL with OffscreenCanvas (enabled behind a feature preference setting gfx.offscreencanvas.enabled), WebSocketXMLHttpRequest.

Workers can also spawn other workers, so these APIs are also available: WorkerWorkerGlobalScopeWorkerLocationWorkerNavigator.

See also