The close()
method of the SharedWorkerGlobalScope
interface discards any tasks queued in the SharedWorkerGlobalScope
's event loop, effectively closing this particular scope.
Syntax
self.close();
Example
If you want to close your worker instance from inside the worker itself, you can call the following:
close();
close()
and self.close()
are effectively equivalent — both represent close()
being called from inside the worker's inner scope.
Note: There is also a way to stop the worker from the main thread: the Worker.terminate
method.
Specifications
Specification | Status | Comment |
---|---|---|
WHATWG HTML Living Standard The definition of 'close()' in that specification. |
Living Standard |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | ? | 54 (54) | ? | ? | ? |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | ? | ? | 54 (54) | ? | ? | ? |
General note: In newer browser versions, close()
is available on SharedWorkerGlobalScope
and DedicatedWorkerGlobalScope
. In older browser versions, it is available on WorkerGlobalScope
. This change was made to stop close()
being available on service workers, as it isn't supposed to be used there and always throws an exception when called (see bug 1336043).