РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsnsSpSsMm 177 of 201 menu
◀ ▶

Несколько сообщений в Nest

Список на экране должен обновляться несколько раз подряд, пока клиент слушает адрес. Одного объекта в ответе мало: нужна регулярная подача новых значений без повторного открытия страницы.

Источник interval из RxJS выдаёт числа через короткий промежуток времени. Цепочка с map превращает каждое число в MessageEvent с полем data, и Nest отправляет их клиенту одно за другим.

Покажем на примере постов:

import { Controller, MessageEvent, Sse } from '@nestjs/common'; import { interval, map, Observable } from 'rxjs'; @Controller('posts') export class PostController { @Sse('stream') streamMany(): Observable<MessageEvent> { return interval(300).pipe( map((tick) => ({ data: { tick }, })), ); } }

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

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить