ReadableByteStreamController:error() 方法
注意: 此功能在 Web Workers 中可用。
error()
方法是 ReadableByteStreamController
接口的一部分,它会导致与关联流的任何未来交互都使用指定的理由出错。
这通常由底层源调用,以从其获取数据的接口(如文件读取或套接字错误)中显示错误。它也可以从其他地方调用以触发流错误,例如,如果流依赖的系统其他部分出现故障。
语法
js
error(errorObject)
参数
errorObject
-
您希望未来交互失败的任何对象。
返回值
无 (undefined
)。
异常
TypeError
-
如果源对象不是
ReadableByteStreamController
,或者流由于某种其他原因不可读,则会抛出此异常。
示例
在 使用可读字节流 > 创建可读套接字推送字节流 中的示例展示了如何使用 error()
手动触发流错误,如果它依赖的系统其他部分出现故障。
具体来说,底层源 start()
方法调用 readRepeatedly()
来执行所有设置操作并发出数据请求。这将返回一个 Promise。如果在读取数据时抛出任何错误,它们将被链接的 catch()
函数捕获。在 catch()
中,我们然后在控制器上调用 error()
,并将底层源的理由传递给它。
js
function start(controller) {
readRepeatedly().catch((e) => controller.error(e));
}
function readRepeatedly() {
return socket.select2().then(() => {
// …
});
}
规范
规范 |
---|
Streams 标准 # ref-for-rbs-controller-error① |
浏览器兼容性
BCD 表格仅在浏览器中加载