W3cubDocs

/Angular

MessageBus

class experimental

npm Package @angular/platform-webworker
Module import { MessageBus } from '@angular/platform-webworker';
Source platform-webworker/src/web_workers/shared/message_bus.ts

Overview

class MessageBus implements MessageBusSource, MessageBusSink {
  initChannel(channel: string, runInZone?: boolean): void
  attachToZone(zone: NgZone): void
  from(channel: string): EventEmitter<any>
  to(channel: string): EventEmitter<any>
}

Description

Message Bus is a low level API used to communicate between the UI and the background. Communication is based on a channel abstraction. Messages published in a given channel to one MessageBusSink are received on the same channel by the corresponding MessageBusSource.

Members

initChannel(channel: string, runInZone?: boolean): void

Sets up a new channel on the MessageBus. MUST be called before calling from or to on the channel. If runInZone is true then the source will emit events inside the angular zone and the sink will buffer messages and send only once the zone exits. if runInZone is false then the source will emit events inside the global zone and the sink will send messages immediately.

attachToZone(zone: NgZone): void

Assigns this bus to the given zone. Any callbacks attached to channels where runInZone was set to true on initialization will be executed in the given zone.

from(channel: string): EventEmitter<any>

Returns an EventEmitter that emits every time a message is received on the given channel.

to(channel: string): EventEmitter<any>

Returns an EventEmitter for the given channel To publish methods to that channel just call next on the returned emitter

© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://angular.io/api/platform-webworker/MessageBus