ReadableStreamBYOBRequest: метод respond()
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.
Примечание: Эта функция доступна в Web Workers.
Метод respond() интерфейса ReadableStreamBYOBRequest используется для сигнализации связанному потоку чтения байтов, что указанное количество байтов было записано в ReadableStreamBYOBRequest.view.
После вызова этого метода view будет перемещён и больше не будет изменяться.
Синтаксис
respond(bytesWritten)
Параметры
bytesWritten-
Количество байтов, записанных в
ReadableStreamBYOBRequest.view.
Возвращаемое значение
Ничего (undefined).
Исключения
TypeError-
У запроса нет связанного
ReadableByteStreamControllerили буфер представления не отделен/не может быть перемещён.
Примеры
Приведенный ниже код взят из примеров в Использование потока чтения байтов.
Метод вызывается лежащим в основе источником байтов как часть нулевого копирования данных для выполнения ожидающего запроса чтения от потребителя. Сначала лежащий в основе источник записывает данные в ReadableStreamBYOBRequest.view, а затем вызывает этот метод respond(), чтобы указать, сколько данных было скопировано в буфер, и вызвать перемещение данных к читателю.
Ниже приведен пример этого случая с использованием гипотетического метода readInto() для копирования данных в представление:
const v = controller.byobRequest.view; bytesRead = socket.readInto(v.buffer, v.byteOffset, v.byteLength); controller.byobRequest.respond(bytesRead);
После операции byobRequest.view отделяется и запрос должен быть удалён.
Спецификации
| Спецификация |
|---|
| Потоки # ref-for-rs-byob-request-respond① |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
respond |
89 | 89 | 102 | 75 | Нет | 89 | 102 | 63 | Нет | 15.0 | 89 |
См. также
© 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/ReadableStreamBYOBRequest/respond