Worker - фоновый поток выполнения

class Worker(scriptUrl)
onerror

Ко­гда в сце­на­рии, вы­пол­няе­мом в фо­но­вом по­то­ке, воз­бу­ж­да­ет­ся ис­клю­че­ние и это ис­клю­че­ние не об­ра­ба­ты­ва­ет­ся об­ра­бот­чи­ком onerror объ­ек­та WorkerGlobalScope, ге­не­ри­ру­ет­ся со­бы­тие «error» в объ­ек­те Worker. Об­ра­бот­чи­ку это­го со­бы­тия пе­ре­да­ет­ся объ­ект ErrorEvent. Со­бы­тие «error» не всплы­ва­ет. Ес­ли дан­ный фо­но­вый по­ток вы­пол­не­ния за­пу­щен дру­гим фо­но­вым по­то­ком, от­ме­на со­бы­тия «error» пре­дот­вра­тит его пе­ре­да­чу ро­ди­тель­ско­му фо­но­во­му по­то­ку. Ес­ли объ­ект Worker соз­дан в глав­ном по­то­ке вы­пол­не­ния, от­ме­на со­бы­тия мо­жет пре­дот­вра­тить вы­вод со­об­ще­ния в кон­со­ли Ja­va­Script.

onmessage

Ко­гда сце­на­рий, вы­пол­няе­мый в фо­но­вом по­то­ке, вы­зо­вет свою гло­баль­ную функ­цию postMessage() (см. WorkerGlobalScope), в объ­ек­те Worker бу­дет сге­не­ри­ро­ва­но со­бы­тие «message». Об­ра­бот­чи­ку со­бы­тия бу­дет пе­ре­дан объ­ект MessageEvent, свой­ст­во data ко­то­ро­го бу­дет со­дер­жать ко­пию зна­че­ния, пе­ре­дан­но­го сце­на­ри­ем из фо­но­во­го по­то­ка вы­пол­не­ния ме­то­ду postMessage().

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

От­прав­ля­ет со­об­ще­ние message фо­но­во­му по­то­ку вы­пол­не­ния, ко­то­пый по­лу­чит его в ви­де объ­ек­та MessageEvent, в об­ра­бот­чи­ке onmessage. Ар­гу­мент message мо­жет быть про­стым зна­че­ни­ем, объ­ек­том или мас­си­вом, но не функ­ци­ей. До­пус­ка­ет­ся пе­ре­да­вать та­кие объ­ек­ты кли­ент­ско­го Ja­va­Script, как ArrayBuffer, File, Blob и Ima­ge­Data, но уз­лы, та­кие как Document и Element, пе­ре­да­вать нель­зя.

Не­обя­за­тель­ный ар­гу­мент ports по­зво­ля­ет ука­зать один или бо­лее пря­мых ка­на­лов свя­зи с объ­ек­том Worker. На­при­мер, ес­ли име­ют­ся два объ­ек­та Worker, мож­но обес­пе­чить пря­мое взаи­мо­дей­ст­вие ме­ж­ду ни­ми, пе­ре­дав их кон­ст­рук­то­рам кон­цы со­еди­не­ния MessageChannel.

terminate()

Ос­та­нав­ли­ва­ет фо­но­вый по­ток вы­пол­не­ния и пре­ры­ва­ет ра­бо­ту сце­на­рия в нем.