Вход/Регистрация
JavaScript. Подробное руководство, 6-е издание
вернуться

Флэнаган Дэвид

Шрифт:

В точности соответствует одноименному методу объекта

Window
.

void close

Переводит поток выполнения в особое состояние «завершения». Оказавшись в этом состоянии он больше не будет возбуждать события. Сценарий продолжит работу до момента возврата в цикл событий фонового потока выполнения, где тут же будет остановлен.

void importScripts(string urls...)

Для каждого из аргументов urls этот метод разрешает URL-адрес относительно свойства

location
, затем загружает содержимое URL-адреса и выполняет его, как программный код на языке JavaScript. Обратите внимание, что это синхронный метод. Он загружает и выполняет файлы по очереди и не возвращает управление, пока не выполнит все сценарии. (Однако, если какой-то сценарий возбудит исключение, это исключение начнет распространение и помешает загрузке и выполнению следующих за ним сценариев.)

void postMessage(any message, [MessagePort[] ports])

Отправляет сообщение message (и массив портов, если указан) потоку выполнения, породившему данный фоновый поток. Вызов этого метода генерирует событие «message» в объекте

Worker
в родительском потоке выполнения, обработчику которого передается объект
MessageEvent
со свойством
data
, содержащим копию аргумента message. Обратите внимание, что в фоновом потоке выполнения метод
postMessage
является глобальной функцией.

long setlnterval(any handler, [any timeout], any args...)

В точности соответствует одноименному методу объекта

Window
.

long setTimeout(any handler, [any timeout], any args...)

В точности соответствует одноименному методу объекта

Window
.

Конструкторы

Объект

WorkerGlobalScope
содержит все конструкторы базового JavaScript, такие как
Агray, Date и RegExp
. Он также определяет некоторые наиболее важные конструкторы клиентского JavaScript, позволяющие создавать объекты
XMLHttpRequest, FileReaderSync
и даже сам объект
Worker
.

Обработчики событий

Обработчики событий для фонового потока выполнения можно зарегистрировать, установив следующие глобальные свойства или воспользовавшись методами интерфейса

EventTarget
, реализованными в объекте
WorkerGlobalScope
.

onerror

Это необычный обработчик события: это свойство больше похоже на свойство

onerror
объекта
Window
, чем на свойство
onerror
объекта
Worker
. Когда в фоновом потоке выполнения появляется необработанное исключение, будет вызвана эта функция, если она определена, с тремя строковыми аргументами, определяющими сообщение об ошибке, URL-адрес сценария и номер строки в сценарии. Если функция вернет false, исключение будет считаться обработанным и прекратит дальнейшее распространение. В противном случае, если это свойство не установлено или обработчик не вернул false, исключение продолжит распространение и вызовет событие «error» в объекте
Worker
в родительском потоке выполнение.

onmessage

Когда родительский поток выполнения вызывает метод post

Message
объекта
Worker
, представляющего данный фоновый поток выполнения, в данном объекте
WorkerGlobalScope
генерируется событие «message». Обработчику этого события будет передан объект
MessageEvent
, свойство data которого хранит копию аргумента message, переданного родительским потоком выполнения.

WorkerLocation

URL-адрес главного сценария в фоновом потоке выполнения

Объект

WorkerLocation
, на который ссылается свойство location объекта
WorkerGlobalScope
, похож на объект
Location
, на который ссылается свойство
location
объекта
Window
: он представляет URL-адрес главного сценария в фоновом потоке выполнения и определяет свойства, представляющие различные части этого URL-адреса.

В отличие от обычного объекта

Location
, объект
WorkerLocation
не преобразуется в строку автоматически. В фоновом потоке выполнения нельзя просто обратиться к имени
location
там, где подразумевается
location.href
.

Свойства

Следующие свойства имеют то же назначение, что и одноименные свойства объекта

Location
.

readonly string hash

Часть URL-адреса - идентификатор фрагмента, включающий начальный символ решетки.

readonly string host

Часть URL-адреса - имя хоста и порт.

readonly string hostname

Часть URL-адреса - имя хоста.

readonly string href

Полный текст URL-адреса, переданный конструктору

Worker.
Это единственное значение, которое фоновый поток выполнения получает непосредственно от родительского потока: все остальные значения передаются косвенно - посредством событий «message».

  • Читать дальше
  • 1
  • ...
  • 633
  • 634
  • 635
  • 636
  • 637
  • 638
  • 639
  • 640
  • 641
  • 642

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: