Spec-Zone.ru › Web APIs

ReadableStreamDefaultController: метод enqueue()

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

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

Синтаксис

enqueue(chunk)

Параметры

chunk

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

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

Ничего (undefined).

Исключения

TypeError

Выбрасывается, если объект-источник не является ReadableStreamDefaultController.

Примеры

В следующем простом примере создается настраиваемый ReadableStream с помощью конструктора (см. наш пример простого случайного потока для полного кода). Функция start() генерирует случайную строку текста каждую секунду и добавляет ее в поток — см. controller.enqueue(string). Также предоставлена функция cancel() для остановки генерации, если вызвана ReadableStream.cancel() по какой-либо причине.

При нажатии кнопки генерация останавливается, поток закрывается с помощью ReadableStreamDefaultController.close(), и выполняется другая функция, которая считывает данные из потока.

let interval;
const stream = new ReadableStream({
  start(controller) {
    interval = setInterval(() => {
      let string = randomChars();

      // Add the string to the stream
      controller.enqueue(string);

      // show it on the screen
      let listItem = document.createElement("li");
      listItem.textContent = string;
      list1.appendChild(listItem);
    }, 1000);

    button.addEventListener("click", () => {
      clearInterval(interval);
      fetchStream();
      controller.close();
    });
  },
  pull(controller) {
    // We don't really need a pull in this example
  },
  cancel() {
    // This is called if the reader cancels,
    // so we should stop generating strings
    clearInterval(interval);
  },
});

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

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

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

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
enqueue 52 79 65 39 10 52 65 41 10 6.0 52

См. также

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

© 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/ReadableStreamDefaultController/enqueue

Spec-Zone.ru

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