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() Non-Standard , 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 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 (although the responseXML and channel attributes are always null).

Workers can also spawn other workers, so these APIs are also available: Worker, WorkerGlobalScope, WorkerLocation, WorkerNavigator.

See also