Spec-Zone.ru › Web APIs

ReadableByteStreamController: метод close()

Ограниченная доступность

Эта функция не является базовой, так как она не работает во всех широко используемых браузерах.

  • Узнать больше
  • Показать полную совместимость
  • Отправить отзыв

Примечание: Эта функция доступна в Web Workers.

Метод close() интерфейса ReadableByteStreamController закрывает связанный поток.

Этот метод может вызываться базовым источником, когда источник данных исчерпан/завершен.

Примечание: Чтение ранее внесённых фрагментов данных из потока по-прежнему возможно, но после их чтения поток будет закрыт. Однако если при вызове close() существует активный и частично записанный byobRequest, поток будет иметь ошибку.

Синтаксис

close()

Параметры

Нет.

Возвращаемое значение

None (undefined).

Исключения

TypeError

Выбрасывается, если объект-источник не является ReadableByteStreamController, уже закрыт или поток по какой-либо причине недоступен для чтения.

Примеры

Пример в Использование потоков байтов для чтения > Создание потока байтов для чтения сокета показывает, как закрыть поток, когда данных больше нет.

Ниже представлен соответствующий код. Он полагается на гипотетический метод readInto(), который возвращает 0 байт только тогда, когда данных больше нет.

bytesRead = socket.readInto(v.buffer, v.byteOffset, v.byteLength);
if (bytesRead === 0) {
  controller.close();
}

После вызова close поток будет закрыт, и все потребители получат об этом уведомление. Например, если используется ReadableStreamBYOBReader, все запросы read() будут завершаться с done: true, а обещание от ReadableStreamBYOBReader.closed также будет выполнено.

Спецификации

Спецификация
Потоки
# ref-for-rbs-controller-close①

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari на iOS Samsung Internet WebView Android
close 89 89 102 75 Нет 89 102 63 Нет 15.0 89

См. также

  • Использование потоков байтов для чтения
  • ReadableByteStreamController

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ReadableByteStreamController/close

Spec-Zone.ru

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