ReadableByteStreamController: thuộc tính byobRequest
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.
Thuộc tính chỉ đọc byobRequest của giao diện ReadableByteStreamController trả về yêu cầu BYOB hiện tại, hoặc null nếu không có yêu cầu nào đang chờ.
Nguồn byte bên dưới nên kiểm tra thuộc tính này và dùng nó để ghi dữ liệu vào stream nếu nó tồn tại (thay vì dùng ReadableByteStreamController.enqueue()).
Điều này sẽ dẫn đến việc truyền zero-byte hiệu quả của dữ liệu đến consumer.
Giá trị
Một đối tượng ReadableStreamBYOBRequest, hoặc null.
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 dùng byobRequest để truyền dữ liệu (nếu nó tồn tại), hoặc ngược lại sao chép dữ liệu vào các hàng đợi nội bộ của stream bằng ReadableByteStreamController.enqueue().
Mã liên quan được tái tạo dưới đây.
Nếu byobRequest tồn tại, dữ liệu được đọc vào controller.byobRequest.view, và sau đó ReadableStreamBYOBRequest.respond() được gọi để báo hiệu lượng dữ liệu sẵn sàng truyền.
if (controller.byobRequest) {
const v = controller.byobRequest.view;
bytesRead = socket.readInto(v.buffer, v.byteOffset, v.byteLength);
if (bytesRead === 0) {
controller.close();
}
controller.byobRequest.respond(bytesRead);
} else {
// Write to data using enqueue().
}
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| Streams> # ref-for-rbs-controller-byob-request②> |