MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.

Свойство onmessage  интерфейса Worker представляет собой обработчик EventHandler, который будет вызван когда произойдет событие message. Тип этого события MessageEvent и оно будет вызвано когда worker-объект получит сообщение из выполняемого им кода (т.е из метода DedicatedWorkerGlobalScope.postMessage .

Примечание: Данные события доступны в свойстве data события message.

Синтаксис

myWorker.onmessage = function(e) { ... }

Пример

Следующий пример кода показывает создание объекта Worker используя конструктор Worker(). События попадают в объект, когда значение внутри поля ввода формы first изменяется. Обработчик onmessage указан для обработки сообщений, которые приходят назад из кода объекта в текущий контекст выполнения.

var myWorker = new Worker("worker.js");

first.onchange = function() {
  myWorker.postMessage([first.value,second.value]);
  console.log('Сообщение, отправленное в worker-объект');
}

myWorker.onmessage = function(e) {
  result.textContent = e.data;
  console.log('Сообщение полученное из worker-объекта');
}

В скрипте worker.js, обработчик onmessage используется для обработки событий, полученных из главного скрипта:

onmessage = function(e) {
  console.log('Сообщение полученное из главного скрипта');
  var workerResult = 'Результат: ' + (e.data[0] * e.data[1]);
  console.log('Отправка сообщения назад в главный скрипт');
  postMessage(workerResult);
}

Посмотрите как в скрипте worker.js вызывается обработчик onmessage. В нем присутствует только глобальное свойство onmessage, потому что worker-объект фактически является областью видимости (DedicatedWorkerGlobalScope).

Для полного примера смотрите наш Basic dedicated worker example (run dedicated worker).

Спецификации

Спецификация Статус Комментарий
WHATWG HTML Living Standard
Определение 'Worker.onmessage' в этой спецификации.
Живой стандарт Никаких изменений из Web Workers.
Web Workers
Определение 'Worker.onmessage' в этой спецификации.
Кандидат в рекомендации Начальное определение.

Совместимость с браузерами

Функциональность Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Базовая поддержка 4 3.5 10.0 10.6 4
Функциональность Android Firefox Mobile (Gecko) Firefox OS (Gecko) IE Phone Opera Mobile Safari Mobile
Базовая поддержка 4.4 3.5 1.0.1 10.0 11.5 5.1

Смотрите также

Интерфейс Worker, которому принадлежит этот обработчик.

Метки документа и участники

 Внесли вклад в эту страницу: vkorniyko
 Обновлялась последний раз: vkorniyko,