Working with shared workers
As discussed previously, shared workers are workers that multiple scripts can access, given that they follow the same origin policy (more on this in a later section named Same origin policy).
The API is a little different from dedicated workers, because these workers can be accessed by any script, so there's a need to manage all the connections via different ports baked into the SharedWorker
object.
Setting up a shared worker
A shared worker can be created by calling the SharedWorker
constructor and providing the name of the file as the argument:
const awesomeworker = new SharedWorker('myworker.js');
Here, we used the SharedWorker
constructor to create an instance of a sharedworker
object. Unlike with dedicated workers, you won't be able to see the HTTP network request in the browser made to the myworker.js
file. This is important because the browser has to maintain only one instance of this file across multiple scripts calling this web worker:
// myworker.js console...