我们的志愿者还没有将这篇文章翻译为 中文 (简体)。加入我们帮助完成翻译!
您也可以阅读此文章的English (US)版。
Deprecated
This feature has been removed from the Web standards. Though some browsers may still support it, it is in the process of being dropped. Avoid using it and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.
The close()
method of the WorkerGlobalScope
interface discards any tasks queued in the WorkerGlobalScope
's event loop, effectively closing this particular scope.
Syntax
self.close();
Example
If you wanted to close your worker instance from inside the worker itself, you could 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 | 4 | 3.5 (1.9.1) | (Yes) | 11.5 | 4 |
close() moved to DedicatedWorkerGlobalScope and SharedWorkerGlobalScope |
? | 54 (54) | ? | ? | ? |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | ? | 40 | 1.0 (1.9.1) | (Yes) | (Yes) | 5.1 |
close() moved to DedicatedWorkerGlobalScope and SharedWorkerGlobalScope |
? | ? | 54.0 (54) | ? | ? | ? |
General note: In newer browser versions, close()
is available on DedicatedWorkerGlobalScope
and SharedWorkerGlobalScope
instead. 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).