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 |
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).
© 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