Обмен сообщениями
Обеспечивает взаимодействие между различными частями приложения, позволяя обмениваться данными и координировать работу.
Например, BroadcastChannel, MessageChannel
интерфейс BroadcastChannel
Представляет именованный канал, который любой BroadcastChannel с таким же именем (среди рабочих потоков или изолятов в одном процессе Deno) может использовать для отправки и получения сообщений, обеспечивая связь «один ко многим» между контекстами выполнения.
Свойства
name: string Возвращает имя канала (переданное конструктору).
onmessage: ((
this: BroadcastChannel,
ev: MessageEvent,
) => any) | null onmessageerror: ((
this: BroadcastChannel,
ev: MessageEvent,
) => any) | null Методы
close(): void Закрывает объект BroadcastChannel, делая его доступным для сборки мусора.
postMessage(message: any): void Отправляет указанное сообщение другим объектам BroadcastChannel, настроенным для этого канала. Сообщения могут быть структурированными объектами, например вложенными объектами и массивами.
addEventListener<K extends keyof BroadcastChannelEventMap>(
type: K,
listener: (
this: BroadcastChannel,
ev: BroadcastChannelEventMap[K],
) => any,
options?: boolean | AddEventListenerOptions,
): void addEventListener(
type: string,
listener: EventListenerOrEventListenerObject,
options?: boolean | AddEventListenerOptions,
): void removeEventListener<K extends keyof BroadcastChannelEventMap>(
type: K,
listener: (
this: BroadcastChannel,
ev: BroadcastChannelEventMap[K],
) => any,
options?: boolean | EventListenerOptions,
): void removeEventListener(
type: string,
listener: EventListenerOrEventListenerObject,
options?: boolean | EventListenerOptions,
): void переменная BroadcastChannel
Объект-конструктор для BroadcastChannel.
Создайте канал с помощью new BroadcastChannel(name), чтобы присоединиться к каналу с идентификатором name; сообщения, отправленные в него, доставляются всем остальным BroadcastChannel, подключённым к тому же имени.
Свойства
prototype: BroadcastChannel интерфейс BroadcastChannelEventMap
Свойства
интерфейс MessageChannel
Интерфейс MessageChannel из API обмена сообщениями через каналы позволяет создавать новый канал сообщений и отправлять данные через него с помощью двух свойств MessagePort.
Свойства
port1: MessagePort port2: MessagePort переменная MessageChannel
Интерфейс MessageChannel из API обмена сообщениями через каналы позволяет создавать новый канал сообщений и отправлять данные через него с помощью двух свойств MessagePort.
Свойства
prototype: MessageChannel интерфейс MessagePort
Интерфейс MessagePort из API обмена сообщениями через каналы представляет один из двух портов MessageChannel и позволяет отправлять сообщения через один порт и прослушивать их получение на другом.
Свойства
onmessage: ((
this: MessagePort,
ev: MessageEvent,
) => any) | null onmessageerror: ((
this: MessagePort,
ev: MessageEvent,
) => any) | null Методы
close(): void Отключает порт, делая его неактивным.
postMessage(
message: any,
transfer: Transferable[],
): void Отправляет сообщение через канал. Объекты, перечисленные в transfer, передаются, а не просто копируются, поэтому после передачи их больше нельзя использовать на стороне отправителя.
Вызывает DOMException "DataCloneError", если transfer содержит повторяющиеся объекты или порт либо если сообщение не удалось клонировать.
postMessage(
message: any,
options?: StructuredSerializeOptions,
): void start(): void Начинает отправку сообщений, получаемых портом. Этот метод неявно вызывается при присваивании значения this.onmessage.
addEventListener<K extends keyof MessagePortEventMap>(
type: K,
listener: (
this: MessagePort,
ev: MessagePortEventMap[K],
) => any,
options?: boolean | AddEventListenerOptions,
): void addEventListener(
type: string,
listener: EventListenerOrEventListenerObject,
options?: boolean | AddEventListenerOptions,
): void removeEventListener<K extends keyof MessagePortEventMap>(
type: K,
listener: (
this: MessagePort,
ev: MessagePortEventMap[K],
) => any,
options?: boolean | EventListenerOptions,
): void removeEventListener(
type: string,
listener: EventListenerOrEventListenerObject,
options?: boolean | EventListenerOptions,
): void переменная MessagePort
Интерфейс MessagePort из API обмена сообщениями через каналы представляет один из двух портов MessageChannel и позволяет отправлять сообщения через один порт и прослушивать их получение на другом.
Свойства
prototype: MessagePort интерфейс MessagePortEventMap
Свойства
© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/api/web/messaging