WorkerGlobalScope.close()

我们的志愿者还没有将这篇文章翻译为 中文 (简体)加入我们帮助完成翻译!
您也可以阅读此文章的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).

See also

WorkerGlobalScope

文档标签和贡献者