Spec-Zone.ru › Web APIs

ReadableByteStreamController: метод enqueue()

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

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

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

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

Метод enqueue() интерфейса ReadableByteStreamController помещает заданный фрагмент в ассоциированный с ним поток байтов для чтения (фрагмент копируется во внутренние очереди потока).

Этот метод следует использовать только для передачи данных в очередь, когда byobRequest null.

Синтаксис

enqueue(chunk)

Параметры

chunk

Фрагмент для добавления в очередь.

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

None (undefined).

Исключения

TypeError

Выбрасывается, если объект-источник не является ReadableByteStreamController, или поток не может быть прочитан по какой-либо другой причине, или фрагмент не является объектом, или внутренний буфер массива фрагмента не существует, имеет нулевую длину или отсоединён. Также выбрасывается, если поток был закрыт.

Примеры

Пример в Использование потоков байтов для чтения > Создание потока байтов для чтения сокета-push показывает, как использовать enqueue() для копирования данных в поток, если нет открытого запроса byobRequest. Если есть byobRequest, то его следует использовать!

Ниже показано, как данные считываются в ArrayBuffer с использованием гипотетического метода socket.readInto() и затем добавляются в очередь (но только если данные были скопированы):

const buffer = new ArrayBuffer(DEFAULT_CHUNK_SIZE);
bytesRead = socket.readInto(buffer, 0, DEFAULT_CHUNK_SIZE);
if (bytesRead === 0) {
  controller.close();
} else {
  controller.enqueue(new Uint8Array(buffer, 0, bytesRead));
}

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

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

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

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
enqueue 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/enqueue

Spec-Zone.ru

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