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

Ошибка потока в Nest

Источник данных может сломаться ещё до того, как клиент получит хотя бы одно событие. Молчаливый обрыв соединения оставляет вкладку без объяснения, а сервер должен сообщить о сбое явно.

Наблюдаемая последовательность может перейти в состояние ошибки через throwError из RxJS. Nest прекращает подписку, закрывает ответ потока и передаёт сбой в общую обработку исключений приложения на NodeJS.

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

import { Controller, MessageEvent, Sse } from '@nestjs/common'; import { Observable, throwError } from 'rxjs'; @Controller('posts') export class PostController { @Sse('stream') streamFail(): Observable<MessageEvent> { return throwError( () => new Error('Post stream failed'), ); } }

Настройте в WorkerController поток, который сразу переходит в ошибку с текстом про список работников, чтобы клиент получил отказ, а не серию событий.

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