ReadableByteStreamController: phương thức error()

Baseline 2026
Newly available

Since March 2026, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Note: This feature is available in Web Workers.

Phương thức error() của giao diện ReadableByteStreamController khiến bất kỳ tương tác nào trong tương lai với stream liên quan gặp lỗi với lý do được chỉ định.

Phương thức này thường được nguồn bên dưới gọi để hiển thị lỗi từ giao diện nơi nó lấy dữ liệu (chẳng hạn như lỗi đọc tập tin hoặc lỗi socket). Nó cũng có thể được gọi từ nơi khác để kích hoạt lỗi stream, ví dụ nếu một phần khác của hệ thống mà stream phụ thuộc vào bị lỗi.

Cú pháp

js
error(errorObject)

Tham số

errorObject

Bất kỳ đối tượng nào mà bạn muốn các tương tác trong tương lai thất bại cùng.

Giá trị trả về

Không có (undefined).

Ngoại lệ

TypeError

Được ném ra nếu đối tượng nguồn không phải là ReadableByteStreamController, hoặc stream không thể đọc vì lý do nào đó.

Ví dụ

Ví dụ trong Sử dụng readable byte streams > Tạo readable socket push byte stream cho thấy cách bạn có thể dùng error() để kích hoạt lỗi stream thủ công nếu một phần khác của hệ thống mà nó phụ thuộc vào bị lỗi.

Cụ thể, phương thức start() của nguồn bên dưới gọi readRepeatedly() để thực hiện tất cả các thao tác thiết lập và thực hiện yêu cầu dữ liệu. Hàm này trả về một promise. Nếu có bất kỳ lỗi nào được ném ra khi đọc dữ liệu, chúng sẽ được bắt bởi hàm catch() được nối vào. Trong catch(), chúng ta gọi error() trên controller, truyền lý do từ nguồn bên dưới.

js
function start(controller) {
  readRepeatedly().catch((e) => controller.error(e));
}

function readRepeatedly() {
  return socket.select2().then(() => {
    // …
  });
}

Thông số kỹ thuật

Specification
Streams
# ref-for-rbs-controller-error①

Tương thích trình duyệt

Xem thêm