Обработка отключения/прерывания клиента во время потокового ответа в Deno.serveJavascript

Форум по Javascript
Гость
Обработка отключения/прерывания клиента во время потокового ответа в Deno.serve

Сообщение Гость »


У меня есть код сервера Deno, который выглядит примерно так:

Deno.serve((req) => { пусть asyncIterator = getChunkIterator(req.url); const поток = новый ReadableStream({ асинхронное вытягивание (контроллер) { пытаться { const {значение, выполнено} = ожидание asyncIterator.next(); если (сделано) { контроллер.закрыть(); возвращаться; } контроллер.enqueue(значение); } поймать (ошибиться) { контроллер.ошибка(ошибка); } } }); пусть ответ = новый ответ (поток); обратный ответ; }); Потоковая передача ответа может занять несколько секунд, и клиент может отключиться на полпути. Мне нужно обнаружить это, чтобы я мог остановить (отдельный) «рабочий» сервер, который создает фрагменты данных для этого клиента.

Я понятия не имею, как это сделать, поскольку с помощью Deno.serve вы просто возвращаете объект Response, а не получаете поток для записи.

Вернуться в «Javascript»