Spec-Zone.ru › Deno 2

Обмен сообщениями

Обеспечивает взаимодействие между различными частями приложения, позволяя обмениваться данными и координировать работу.

Например, BroadcastChannel, MessageChannel


интерфейс BroadcastChannel

расширяет EventTarget

Представляет именованный канал, который любой 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

Свойства

message: MessageEvent
messageerror: MessageEvent

интерфейс MessageChannel

Интерфейс MessageChannel из API обмена сообщениями через каналы позволяет создавать новый канал сообщений и отправлять данные через него с помощью двух свойств MessagePort.

Свойства

port1: MessagePort
только для чтения
port2: MessagePort
только для чтения

переменная MessageChannel

Интерфейс MessageChannel из API обмена сообщениями через каналы позволяет создавать новый канал сообщений и отправлять данные через него с помощью двух свойств MessagePort.

Свойства

prototype: MessageChannel
только для чтения

интерфейс MessagePort

расширяет EventTarget

Интерфейс 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

Свойства

message: MessageEvent
messageerror: MessageEvent

© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/api/web/messaging

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API