DeferredRequestInit
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Dictionary DeferredRequestInit của Fetch API đại diện cho tập hợp các tùy chọn có thể được sử dụng để cấu hình yêu cầu fetch bị trì hoãn.
Đối tượng DeferredRequestInit được truyền trực tiếp vào lời gọi hàm window.fetchLater() như là đối số thứ hai.
Thuộc tính phiên bản
Dictionary này mở rộng dictionary RequestInit với việc thêm các thuộc tính sau:
activateAfterOptional-
DOMHighResTimeStampcho biết khoảng thời gian chờ tính bằng mili giây sau đó yêu cầu fetch nên được gửi. Fetch có thể được gửi sớm hơn khi điều hướng đi. Thời gian gửi thực tế không được biết, vì trình duyệt có thể đợi lâu hơn hoặc ngắn hơn, ví dụ để tối ưu hóa việc gộp các deferred fetch. Nếu thuộc tínhactivateAfterkhông được cung cấp, deferred fetch sẽ chờ đến cuối lần truy cập trang (bao gồm cả việc vào bfcache).
Ngoại lệ
RangeErrorDOMException-
Phát sinh khi giá trị
activateAfterâm được cung cấp.
Ví dụ
>Trì hoãn yêu cầu GET cho đến khi trang bị hủy hoặc vào bfcache
Trong ví dụ này, không có đối tượng DeferredRequestInit nào được cung cấp và không sử dụng khoảng thời gian chờ:
fetchLater("/send_beacon");
Trì hoãn yêu cầu POST trong khoảng 1 phút
Trong ví dụ này, chúng ta tạo Request và cung cấp giá trị activateAfter để trì hoãn gửi yêu cầu trong 60,000 mili giây (hoặc một phút):
fetchLater("/send_beacon", {
method: "POST",
body: getBeaconData(),
activateAfter: 60000, // 1 minute
});
Note: Thời gian gửi thực tế không được biết, vì trình duyệt có thể đợi lâu hơn hoặc ngắn hơn, ví dụ để tối ưu hóa việc gộp các deferred fetch.
Thông số kỹ thuật
| Specification |
|---|
| Fetch> # deferred-fetch> |