LockManager: phương thức query()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2022.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Web Workers.
Phương thức query() của giao diện LockManager trả về Promise được giải quyết với đối tượng chứa thông tin về các khóa đang giữ và đang chờ.
Cú pháp
query()
Tham số
Không có.
Giá trị trả về
Một Promise được giải quyết với đối tượng chứa ảnh chụp trạng thái LockManager. Đối tượng có các thuộc tính sau:
held-
Mảng các đối tượng
LockInfocho các khóa đang giữ. pending-
Mảng các đối tượng
LockInfocho các yêu cầu khóa đang chờ.
Đối tượng LockInfo có thể có các thuộc tính sau:
name-
Tên được truyền vào
LockManager.request()khi khóa được yêu cầu. mode-
Chế độ truy cập được truyền vào
LockManager.request()khi khóa được yêu cầu. Chế độ là"exclusive"hoặc"shared". clientId-
Định danh duy nhất của ngữ cảnh nơi
LockManager.request()được gọi. Đây là cùng giá trị vớiClient.id.
Ngoại lệ
Phương thức này có thể trả về một promise bị từ chối với DOMException của một trong các loại sau:
InvalidStateErrorDOMException-
Được ném nếu tài liệu của môi trường không hoàn toàn hoạt động.
SecurityErrorDOMException-
Được ném nếu không thể lấy trình quản lý khóa cho môi trường hiện tại.
Ví dụ
const state = await navigator.locks.query();
for (const lock of state.held) {
console.log(`held lock: name ${lock.name}, mode ${lock.mode}`);
}
for (const request of state.pending) {
console.log(`requested lock: name ${request.name}, mode ${request.mode}`);
}
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| Web Locks API> # api-lock-manager-query> |