The close()
method of the SharedWorkerGlobalScope
interface discards any tasks queued in the SharedWorkerGlobalScope
's event loop, effectively closing this particular scope.
self.close();
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.
Specification | Status | Comment |
---|---|---|
HTML Living Standard The definition of 'close()' in that specification. | Living Standard |
Desktop | ||||||
---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
Basic support | No | ? | 54 | ? | No | ? |
Mobile | |||||||
---|---|---|---|---|---|---|---|
Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
Basic support | No | No | ? | 54 | No | ? | No |
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).
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/SharedWorkerGlobalScope/close