Эта статья нуждается в техническом обзоре. Как вы можете помочь.
Эта статья нуждается в редакционном обзоре. Как вы можете помочь.
Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.
Свойство 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
, которому принадлежит этот обработчик.