Response: phương thức blob()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.
Note: This feature is available in Web Workers.
Phương thức blob() của giao diện Response nhận một luồng Response và đọc nó đến hết. Phương thức này trả về một promise giải quyết với một Blob.
Cú pháp
blob()
Tham số
Không có.
Note:
Nếu Response có Response.type là "opaque", Blob kết quả sẽ có Blob.size bằng 0 và Blob.type là chuỗi rỗng "", khiến nó trở nên vô dụng cho các phương thức như URL.createObjectURL().
Giá trị trả về
Một promise giải quyết với một Blob có dữ liệu là các byte của body và kiểu media là giá trị của header Content-Type của phản hồi.
Ngoại lệ
AbortErrorDOMException-
Yêu cầu đã bị hủy.
TypeError-
Ném ra vì một trong các lý do sau:
- Body phản hồi bị disturbed hoặc locked.
- Có lỗi giải mã nội dung body, ví dụ do header
Content-Encodingkhông đúng.
Ví dụ
Trong ví dụ fetch request của chúng tôi (chạy trực tiếp), chúng ta tạo một yêu cầu mới bằng constructor Request(), rồi dùng nó để fetch một ảnh JPG. Khi fetch thành công, chúng ta đọc một Blob từ phản hồi bằng blob(), đặt nó vào một object URL bằng URL.createObjectURL(), rồi đặt URL đó làm nguồn của phần tử <img> để hiển thị ảnh.
const myImage = document.querySelector("img");
const myRequest = new Request("flowers.jpg");
fetch(myRequest)
.then((response) => response.blob())
.then((myBlob) => {
const objectURL = URL.createObjectURL(myBlob);
myImage.src = objectURL;
});
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| Fetch> # ref-for-dom-body-blob①> |