docs/api/ipc-main-service-worker.md
Communicate asynchronously from the main process to service workers.
Process: Main
<!-- TODO(samuelmaddock): refactor doc gen to allow generics to reduce duplication -->[!NOTE] This API is a subtle variation of
IpcMain—targeted for communicating with service workers. For communicating with web frames, consult theIpcMaindocumentation.
[!WARNING] Electron's built-in classes cannot be subclassed in user code. For more information, see the FAQ.
ipcMainServiceWorker.on(channel, listener)channel stringlistener Function
event IpcMainServiceWorkerEvent...args any[]Listens to channel, when a new message arrives listener would be called with
listener(event, args...).
ipcMainServiceWorker.once(channel, listener)channel stringlistener Function
event IpcMainServiceWorkerEvent...args any[]Adds a one time listener function for the event. This listener is invoked
only the next time a message is sent to channel, after which it is removed.
ipcMainServiceWorker.removeListener(channel, listener)channel stringlistener Function
...args any[]Removes the specified listener from the listener array for the specified
channel.
ipcMainServiceWorker.removeAllListeners([channel])channel string (optional)Removes listeners of the specified channel.
ipcMainServiceWorker.handle(channel, listener)channel stringlistener Function<Promise<any> | any>
event IpcMainServiceWorkerInvokeEvent...args any[]ipcMainServiceWorker.handleOnce(channel, listener)channel stringlistener Function<Promise<any> | any>
event IpcMainServiceWorkerInvokeEvent...args any[]Handles a single invokeable IPC message, then removes the listener. See
ipcMainServiceWorker.handle(channel, listener).
ipcMainServiceWorker.removeHandler(channel)channel stringRemoves any handler for channel, if present.