ReadableByteStreamController: метод error()
Ограниченная доступность
Эта функция не является базовой, поскольку она не работает в некоторых из наиболее широко используемых браузеров.
Примечание: Эта функция доступна в Web Workers.
Метод error() интерфейса ReadableByteStreamController вызывает ошибку любых будущих взаимодействий с ассоциированным потоком с указанной причиной.
Это обычно вызывается базовым источником для отображения ошибки из интерфейса, где он получает свои данные (например, при ошибке чтения файла или сокета). Также его можно вызвать из другого места для вызова ошибки потока, например, если другая часть системы, от которой зависит поток, выйдет из строя.
Синтаксис
error(errorObject)
Параметры
errorObject-
Любой объект, с которым вы хотите, чтобы будущие взаимодействия завершались ошибкой.
Возвращаемое значение
None (undefined).
Исключения
TypeError-
Выбрасывается, если объект-источник не является
ReadableByteStreamController, или поток не является читаемым по какой-либо другой причине.
Примеры
Пример в Использование потоков байтов для чтения > Создание потока байтов для чтения из сокета демонстрирует, как вы можете вручную вызвать ошибку потока, если другая часть системы, от которой он зависит, выйдет из строя.
В частности, базовый метод источника start() вызывает readRepeatedly() для выполнения всех операций настройки и отправки запроса на данные. Это возвращает промис. Если при чтении данных возникают какие-либо ошибки, они будут перехвачены цепочкой функций catch(). В catch() мы затем вызываем error() для контроллера, передавая причину из базового источника.
function start(controller) {
readRepeatedly().catch((e) => controller.error(e));
}
function readRepeatedly() {
return socket.select2().then(() => {
// …
});
}
Спецификации
| Спецификация |
|---|
| Потоки # ref-for-rbs-controller-error① |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
error |
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/ReadableByteStreamController/error